JButton avec les deux ActionListener / MouseListener
Est-il possible de créer un Jbutton avec un ActionListener et MouseListener
Sens donc j'ai créer un bouton et puis, quand je le presse ( à travers actionListener) ça change de l'image de sorte qu'APRÈS que le bouton a été pressé, je peux appuyez n'importe où sur le cadre et le MouseListener serait en cours d'utilisation.
JButton button = new JButton();//Creates Button
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//Insert MouseListener
//Then do something with mouseListener
}
});
Heres le courant code: cependant elles sont maintenant synchronisés lorsque j'essaie de cliquer sur le bouton et je ne peux pas appeler mouseListener une 2ème fois
JButton button2 = new JButton("Click");
button2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("You clicked the button");
newCube.stopCube();
}
});
button2.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(java.awt.event.MouseEvent evt)
{
double x = evt.getX();
double y = evt.getY();
newCube.setCube(x,y);
}
});
- Oui, vous pouvez, mais quel est le but pour qui?
- comment dois-je procéder? le but est que supposons que j'ai un cadre avec 2 boutons, l'un qui se déplace quelque chose et le 2ème il s'arrête, puis à l'aide de la souris auditeur, je peux le déplacer manuellement.
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez déplacer quelque chose en cliquant dessus, vous pouvez utiliser un écouteur de souris sur le nœud directement, au lieu de l'utiliser sur le bouton.
À ajouter à la fois de l'action de l'écouteur et un écouteur de souris sur un bouton, vous pouvez utiliser le addActionListener et addMouseListener méthodes sur le bouton.
Regarder l'api pour plus d'informations sur ces méthodes... http://docs.oracle.com/javase/7/docs/api/javax/swing/JButton.html
Si je vous ai bien compris, cet exemple peut vous aider (vous ajoutez ceci à votre propre ActionListener)
J'ai essayé, ça fonctionne.
Ici est de donner l'exemple avec
JToggleButton
qui ajouter/supprimer desMouseListener
àJFrame
.EDIT: exemple avec
JButton
:JButton
maisJToggleButton
indique si votreMouseListener
est active.Ce que vous voulez faire est toujours pas clair pour moi. Si cela peut vous aider. Il va ajouter une souris listner pour le composant lorsque le bouton de démarrage est cliqué et supprimer la souris listner, quand le bouton est cliqué. Ainsi, vous pouvez arrêter les deux auditeurs de travailler en synchronisation..