Comment déplacer un triangle vers un nouvel emplacement à l'aide de la souris (dessiné précédemment à l'aide de la souris)?Dessiner un triangle à l'aide de la souris (comment déplacer le précédent triangle dessiné à l'aide de la souris)
...
java.util.List<Polygon> triangles = new LinkedList<Polygon>();
Point startDrag, endDrag, midPoint;
Polygon triangle;
...
public PaintSurface() {
this.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
startDrag = new Point(e.getX(), e.getY());
endDrag = startDrag;
repaint();
}//end mousePressed
public void mouseReleased(MouseEvent e) {
...
int[] xs = { startDrag.x, endDrag.x, midPoint.x };
int[] ys = { startDrag.y, startDrag.y, midPoint.y };
triangles.add(new Polygon(xs, ys,3));
startDrag = null;
endDrag = null;
repaint();
}//end mouseReleased
...
});//end addMouseListener
this.addMouseMotionListener(new MouseMotionAdapter() {
/* Je ne sais pas comment déplacer (glisser) tout le triangle à un nouvel emplacement et plus tard supprimer le triangle précédent dessiné. La méthode mouseDragged ne dessiner un nouveau triangle par glisser la souris :-( */
public void mouseDragged(MouseEvent e) {
endDrag = new Point(e.getX(), e.getY());
repaint();
}//end mouseDragged
}//end paintSurface
//Draw triangles
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
//draw the thickness of the line
g2.setStroke(new BasicStroke(1));
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.00f));
g2.setPaint(Color.black);//set the triangle color
for (Polygon triangle : triangles) g2.drawPolygon(triangle);
if (startDrag != null && endDrag != null) {
g2.setPaint(Color.red);
g2.drawPolygon(triangle);
}
}//end paint
}//end private class PaintSurface
« montant déplacé » est-il le nouveau point? – Jessy
pas son différent entre le point de départ de la traînée et le point final de la traînée dites que vous faites glisser de 5,10 à 15,25 vous avez déplacé 10 et 15 donc vous ajoutez 10 à tous les x du triangle en 15 à tous y – Peter