Hallo.
Ich möchte gerne ein gezeichnetes Rechteck mit der Maus verschieben.
nach einiger suche bin ich auf AffineTransform gestossen.
leider klappt es nicht so wie ich möchte . genauer gesgt es tut sich gar nix..
hier ist die AffineTransform eingebaut.
Ein weiteres Problem ist, daß wenn ich die Maus bewege, keine weiteren Punkte gespeichert werden sondern nur der erste. ....
1. Was ist an der AffineTransform falsch??
2. Wie bekomme ich es hin, daß ich beim Maus bewegen alle punkte auslesen kann??
Ich möchte gerne ein gezeichnetes Rechteck mit der Maus verschieben.
nach einiger suche bin ich auf AffineTransform gestossen.
leider klappt es nicht so wie ich möchte . genauer gesgt es tut sich gar nix..
Code:
public void paintComponent(Graphics g) {
super.paintComponent(g);
g2d = (Graphics2D) g;
if ( img != null){
g2d.drawImage(img, 0, 0, this);
}
g2d.setColor(Color.RED);
Iterator zaehler = pointPunkte.iterator();
while (zaehler.hasNext())
{
Point punkt = (Point) zaehler.next();
g2d.fillOval(punkt.x,punkt.y,15,15);
}
Iterator zaehler2 = rectPunkte.iterator();
while (zaehler2.hasNext())
{
g2d.setColor(Color.GREEN);
Point punktrect = (Point) zaehler2.next();
rechteck = new Rectangle2D.Double(punktrect.x,punktrect.y,80,60);
g2d.draw(rechteck);
}
AffineTransform at = new AffineTransform();
Iterator zaehler3 = transPoints.iterator();
while (zaehler3.hasNext())
{
Point transpunkt = (Point) zaehler3.next();
at.translate(transpunkt.x,transpunkt.y);
g2d.setTransform(at);
g2d.draw(rechteck);
}
}
Code:
public void mousePressed(MouseEvent e) {
if(move.isSelected()== true & e.getSource()== zeichne){
ArrayList liste = new ArrayList();
liste.add(e.getPoint());
System.out.println(liste.get(0)); // kontrolle: gibt auch einen punkt aus allerdings nur einen
zeichne.getTransPoints(e.getPoint()); // punkt wird in Arraylist gespeichert
}
repaint();
}
Ein weiteres Problem ist, daß wenn ich die Maus bewege, keine weiteren Punkte gespeichert werden sondern nur der erste. ....
1. Was ist an der AffineTransform falsch??
2. Wie bekomme ich es hin, daß ich beim Maus bewegen alle punkte auslesen kann??