Ich habe ein Programm in dem ich ein Bild im JFrame per maus bewegen kann .
Jetzt will ich dass ein raster dazu kommt , in dem das Bild automatisch in die rasterquadrate zurechtgerückt wird
Hier das Programm :
-------------------------------------------------------------------------------------
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BildBewegen extends JPanel {
Graphics g;
Graphics2D g2;
Image image;
int imgX,imgY;
int offsetX,offsetY;
Bewegen b = new Bewegen();
public BildBewegen () {
image = new ImageIcon("C:\\Users\\Janni\\Desktop\\S-Stueck.PNG").getImage();
addMouseListener(b);
addMouseMotionListener(b);
}
public void paint (Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(image,imgX,imgY,null);
//repaint();
}
class Bewegen extends MouseAdapter {
public void mousePressed(MouseEvent e) {
int x = e.getX();
int y = e.getY();
offsetX = x - imgX;
offsetY = y - imgY;
}
public void mouseDragged(MouseEvent e) {
imgX = e.getX() - offsetX;
imgY = e.getY() - offsetY;
repaint();
}
public void mouseReleased(MouseEvent e) {
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.add(new BildBewegen());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(900, 900);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
--------------------------------------------------------------------------------------------------
Wenn jemand weiß wies geht bitte keine dummen Antworten.
Danke
Jetzt will ich dass ein raster dazu kommt , in dem das Bild automatisch in die rasterquadrate zurechtgerückt wird
Hier das Programm :
-------------------------------------------------------------------------------------
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BildBewegen extends JPanel {
Graphics g;
Graphics2D g2;
Image image;
int imgX,imgY;
int offsetX,offsetY;
Bewegen b = new Bewegen();
public BildBewegen () {
image = new ImageIcon("C:\\Users\\Janni\\Desktop\\S-Stueck.PNG").getImage();
addMouseListener(b);
addMouseMotionListener(b);
}
public void paint (Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.drawImage(image,imgX,imgY,null);
//repaint();
}
class Bewegen extends MouseAdapter {
public void mousePressed(MouseEvent e) {
int x = e.getX();
int y = e.getY();
offsetX = x - imgX;
offsetY = y - imgY;
}
public void mouseDragged(MouseEvent e) {
imgX = e.getX() - offsetX;
imgY = e.getY() - offsetY;
repaint();
}
public void mouseReleased(MouseEvent e) {
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.add(new BildBewegen());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(900, 900);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
--------------------------------------------------------------------------------------------------
Wenn jemand weiß wies geht bitte keine dummen Antworten.
Danke