slt,
Pour ca, tu peut detecter le premier clique du maintien du bouton de la souris sur ton objet grace a mousePressed, ensuite le relachement du bouton de la souris grace a mouseReleased, si l'emplacement ou se fait le relachement du bouton de la souris se trouve a l'interieur de ton image, tu rajoute ton bouton, sinon, tu ne fait rien .
Pour sauvegarder les références vers tes JButton, tu ferai mieux d'utiliser un ArrayList, au lieu d'un Button [], car avec un tableau ordinaire (JButton []), le nombre des JButton reste limité par le nombre de l'initilisation, exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
ArrayList <JButton> tab = new ArayList <JButton> ();
myjbouton..addMouseListener (new MouseAdapter() {
public void mousePressed(MouseEvent e) {
System.out.println ("Bouton cliquer et maintenu");
}
public void mouseReleased(MouseEvent e){
if (position_relachement_valide (e.getX (), e.getY ())){
Button b = new JButton ();
b.setBounds (nouvelle_position (e.getX ()), nouvelle_position (e.getY ()), 20, 20);
myjpanel.add (b);
tab.add (b);
}
}
}); |
REMARQUE : Le e.getX (), e.getY () serons en fonction de la position de ton objet sur le quel s'est fait le drag N drop .
Pour recuperer un objet du tableau tab (Une reference), tu peut utiliser la méthode get (int index_ds_la tableau) .
S'il y a d'autre questions, ou des suggestions, n'esite pas.
a+
.
Partager