Bonjour,
Existe-t-il un listener particulier propre au JToolBar ?
Version imprimable
Bonjour,
Existe-t-il un listener particulier propre au JToolBar ?
Salut,
Que dit la javadoc à ce sujet ?
bah, j'ai pas trouvé un listener particulier , ya que le ActionListener que j'utilise maintenant
C'est qu'il n'y a pas de listener particulier donc. Cependant, comme tout composant Swing, il y a de nombreux écouteurs en commun avec les autres composants (pour écouter la souris, le clavier, les changements de taille de la barre d'outil, pour écouter les changements dans la hiérarchie de composant, etc.). Mais il n'y a pas d'ActionListener sur un JToolBar. Ça n'aurait aucun sens : ce sont les items (boutons, menus, champs, etc.) dans la toolbar qui produisent des actions, pas la toolbar elle-même.
Je pense qu'il souhaite écouter si la JToolbar est modifiée. Par exemple si sa taille change ou si elle est déplacée par l'utilisateur.
PropertyChangeEvent est lancé quand l'orientation de la barre change.
J'ai trouvé cette solution sur internet:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 toolbar.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName(). equals("ancestor")) { if (evt.getNewValue() == null) { lastAncestor = evt.getOldValue(); } if (evt.getOldValue() == null) { if (evt.getNewValue() != lastAncestor) { isDocked = !isDocked; System.out.println(isDocked ? "Docked" : "Undocked"); } } } } });