Bonjour, j'ai une application où je dessine des choses en cliquant sur la gauche de la souris, lors du déclenchement de la souris droite Il faut aller dans la ArrayList et créer un nouvel objet. et quand je commence à cliquer à nouveau sur la souris gauche, elle doit continuer avec le nouvel objet continuer à montrer l'autre objet. Mon problème est que l'ancien disparaît. quelqu'un peut-il regarder ce que j'ai oublié?mettre objet dans arraylist et créer un nouvel objet
ici est le code
Drawing draw; // class definition
private ArrayList<Drawing> tekening = new ArrayList<Drawing>();
public DrawingPanel() {
setBackground(Color.WHITE); // zorg voor een witte achtergrond.
this.addMouseListener(this); // control de mouselistener
draw = new Drawing(color);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
draw.draw(g);
repaint();
}
@Override
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON1) {
Point k = new Point(e.getX(), e.getY());
draw.addPoint(k);
System.out.println("punt gezet op " + k);
}
if(e.getButton() == MouseEvent.BUTTON3) {
tekening.add(draw);
color = new Color(r.nextInt(255 - 0 + 1) + 0, r.nextInt(255 - 0 + 1) + 0, r.nextInt(255 - 0 + 1) + 0);
//System.out.println("new color " + color);
draw.setColor(color);
draw = new Drawing(color);
}
}
J'ai oublié la boucle foreach dans mon paintComponent.
for(Drawing draw : tekening) {
draw.draw(g);
}
Je vois le problème avec 'addPoint()' ... pouvez-vous poster le code pour cette méthode? – Vikram