Bonjour,
Je suis en train de concevoir un logiciel de dessin type visio,
Après avoir réussi à faire du drag & drop d'images que j'ai créer, j'aimerai pouvoir sélectionner une image et la supprimer en cliquant par exemple sur le bouton droit et de cliquer sur supprimer,
comment puis je faire cela?
merci

voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
import java.awt.Event;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
 
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
 
public class gr3 extends JFrame implements MouseMotionListener{
JLabel[] label = new JLabel[100]; //Copies de l'image
JPanel p ;//notre panel principal qui contient les images
int nbCopie=0;//nombre de copies existantes
 
public gr3(){//constructeur qui créé la fenetre principale
super("titre");
p = new JPanel(null);
 
createCopy(getX(),getY(), getTitle()); //on ajoute une copie au panel
this.getContentPane().add(p);
this.setSize(800,600);
this.setVisible(true);
}
 
public static void main(String[] args) {
new gr3();
}
 
 
public void createCopy( int x, int y, String theImagePath){// créé une nouvelle copie de l'image
    label[nbCopie]=new JLabel(new ImageIcon("alternative.jpg"));
 
    //initialise l'image
    label[nbCopie].setBounds(x,y,120,160); // initialise sa position aux coordonnéees 0,0
    label[nbCopie].addMouseMotionListener(this);//ajoute un mousemotionlistener pour détecter le drag n drop
    p.add(label[nbCopie]);//on ajoute la copie au panel
    p.repaint();//on redessine le panel
    nbCopie++; //incrémente le nombre de copies existantes
 
 
label[nbCopie]=new JLabel(new ImageIcon("decision.jpg"));
 
//initialise l'image
label[nbCopie].setBounds(x,y,260,160); // initialise sa position aux coordonnéees 0,0
label[nbCopie].addMouseMotionListener(this);//ajoute un mousemotionlistener pour détecter le drag n drop
p.add(label[nbCopie]);//on ajoute la copie au panel
p.repaint();//on redessine le panel
nbCopie++; //incrémente le nombre de copies existantes
}
 
    public void mouseDragged(MouseEvent e) {
    //lorsque qu'on fais du drag n drop sur une copie
 
    //si la derniere copie créé a été bougée (coordonnées 0,0),
    //on en créé une nouvelle qui sert de modele
    String theImagePath = null;    
    if (label[nbCopie-1].getX() != 0 && label[nbCopie-1].getY()!=0) createCopy(getX(),getY(),theImagePath);
 
    JLabel temp=(JLabel)e.getSource();
    //créé une référence vers la copie sur laquelle on a cliqué
 
    temp.setBounds(temp.getX()+e.getX()-60,temp.getY()+e.getY()-80,120,160);
    //déplace la copie sur laquelle je fais du drag n drop
    }
 
    public void mouseMoved(MouseEvent e) {
 
    }
 
}

merci d'avance