Vous pouvez ajouter un événement à un composant dans la vue Conception ou la vue Beans Java.
Un module d'écoute ajouté à l'aide de la méthode à deux arguments s'applique à une propriété spécifique et ne peut pas être réutilisé pour une autre propriété. Un module d'écoute ajouté à une méthode à un argument comporte une instruction if qui vérifie le nom de la propriété avant de traiter la logique de chaque rappel de propriété, comme indiqué dans le code ci-après.
javaBean.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent e) { if ((e.getPropertyName().equals("font"))) { System.out.println("propertyChange(font)"); } } });
Ce mécanisme permet d'utiliser un module PropertyChangeListener ajouté avec une méthode à un argument pour plusieurs propriétés (en utilisant plusieurs blocs if{}).
Lorsque vous ajoutez un événement et qu'un module d'écoute existant peut être utilisé, la méthode de rappel est ajoutée. Sinon, un module d'écoute est créé. Pour utiliser un module d'écoute existant, il doit s'agir d'une classe interne anonyme pour le bean Java qui implémente l'interface du module d'écoute. Il doit disposer d'un corps de méthode vide pour la méthode de rappel ou étendre la classe d'adaptateur. Il ne doit pas disposer de méthode existante pour le rappel d'événement ajouté.Pour une propriété, un module PropertyChangeListener est réutilisé s'il est ajouté au bean Java avec la méthode à argument simple addPropertyChange(PropertyChangeListener listener). S'il ne dispose pas encore du code, le traitement de la propriété est ajouté.
S'il n'y pas pas de module d'écoute existant possible auquel la méthode de rappel peut être ajoutée, un nouveau module d'écoute est créé. Il s'agit d'un classe interne anonyme et si une classe adaptateur n'a pas été définie pour l'événement, le module d'écoute l'étend. Sinon, l'interface du module d'écoute est implémentée. Une fois que l'événement est ajouté, une méthode de raccord est créée avec un commentaire //TODO. La méthode de raccord indique le code source à exécuter lorsque l'événement se produit. Vous devez donc modifier cet élément pour obtenir le comportement approprié. Le commentaire //TODO s'affiche dans la fenêtre Tâches pour indiquer les méthodes incomplètes. Vous pouvez ainsi les localiser ultérieurement et supprimer le commentaire //TODO une fois que la logique de rappel a été écrite.
Dans l'exemple précédent, la méthode windowOpened existe déjà. S'il s'agit d'un module d'écoute qui étend l'adaptateur, le même module d'écoute est réutilisé car il ne dispose pas encore de la méthode windowClosed. La méthode windowClosed(WindowEvent e) est ajoutée et le raccord de méthode et le commentaire //TODO sont ajoutés comme indiqué ci-après :
this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosed(java.awt.event.WindowEvent e) { System.out.println("windowClosed()"); // TODO Auto-generated stub windowClosed() } public void windowOpened(java.awt.event.WindowEvent e) { callExistingWindowOpenedLogic(); } });
En mode spécialiste, les événements peuvent toujours être ajoutés au bean Java comme indiqué ci-dessus mais ils peuvent également être ajoutés à un module d'écoute dans l'arborescence Beans Java. Le menu Evénements affiche toutes les méthodes de rappel d'événement pour le module d'écoute et toutes celles qui sont déjà utilisées sont désactivées.
Pour un module PropertyChangeListener, le menu en incrustation affiche toutes les propriétés liées pour le bean Java. Si certaines sont déjà utilisées par PropertyChangeListener, elles sont désactivées.
Un module d'écoute ajouté avec une méthode à un argument comporte une instruction if qui vérifie le nom de la propriété avant de traiter la logique de chaque rappel de propriété dans le code suivant :
javaBean.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent e) { if ((e.getPropertyName().equals("font"))) { System.out.println("propertyChange(font)"); } } });
Ce mécanisme permet d'utiliser un module PropertyChangeListener ajouté avec une méthode à un argument pour plusieurs propriétés (en utilisant plusieurs blocs if{}) et lorsque le deuxième rappel est ajouté, un nouveau bloc if{} est ajouté.
Si le module propertyChangeListener est ajouté au bean Java à l'aide d'une méthode à deux arguments addPropertyChangeListener(String propertyName, PropertyChangeListener listener), il s'applique à une propriété spécifique et ne peut pas être réutilisé pour une autre propriété. Dans ce cas, tous les enfants du menu en cascade Evénements sont désactivés.
Rubrique parent : Traitement des événements avec l'éditeur visuel
Concepts connexes
Vue Beans Java
Tâches connexes
Suppression des événements d'un composant
Affichage des événements pour un composant
Affichage du code source pour un événement