Du kan tilføje en aktivitet til en komponent i oversigten Design eller Java-beans i Visuel editor til Java.
Hvis du tilføjer en aktivitet, og en eksisterende lytter kan anvendes, tilføjes tilbagekaldsmetoden til den. Ellers oprettes der en ny lytter. For at anvende en eksisterende lytter, skal det være en anonym indre klasse på den Java-bean, der implementerer lyttergrænsefladen. Den skal have et tomt metodeindhold for tilbagekaldsmetoden eller udvide adapterklassen. Og den må ikke have en eksisterende metode for det aktivitetstilbagekald, der tilføjes. For en egenskab genbruges en eksisterende PropertyChangeListener, hvis den er tilføjet til Java-bean'en med enkelt-argumentsmetoden addPropertyChange(PropertyChangeListener-lytter). Hvis den ikke allerede har kode, tilføjes behandling af egenskaben.
Hvis der ikke er en eksisterende lytterkandidat, som tilbagekaldsmetoden kan tilføjes, oprettes der en ny lytter. Det vil være en anonym indre klasse, og hvis der er angivet en adapterklasse for aktiviteten, vil lytteren udvide denne. Ellers bliver lyttergrænsefladen implementeret. Når aktiviteten tilføjes, oprettes en stubmetode med kommentaren //TODO. Stubmetoden er en indikator på den kildekode, der udføres, når aktiviteten optræder, og du skal så ændre dette for at udføre den påkrævede funktionsmåde. Kommentaren //TODO vises i vinduet Opgaver og markerer ufuldstændige metoder med flag. Det er sådan, du kan finde dem senere og fjerne kommentaren //TODO, når tilbagekaldslogikken er skrevet.
I forrige eksempel findes metoden windowOpened allerede. Hvis det er en lytter, der udvider adapteren, vil den samme lytter blive genbrugt, fordi den ikke allerede har en windowClosed-metode. Metoden windowClosed(WindowEvent e) tilføjes, og metodestubben og kommentaren //TODO tilføjes som vist her:
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(); } });
I eksperttilstand kan aktiviteter stadig tilføjes til Java-bean'en som tidligere vist, men de kan også tilføjes til en lytter i træstrukturen for Java-beans. Aktivitetsmenuen viser alle aktivitetstilbagekaldsmetoder for lytteren, og alle, der allerede anvendes, deaktiveres.
For en PropertyChangeListener viser pop op-menuen alle bundne egenskaber på Java-bean'en. Hvis nogle allerede anvendes af PropertyChangeListener, deaktiveres de.
En lytter, der tilføjes med brug af enkelt-argumentsmetoden, har en if-sætning, der kontrollerer navnet på egenskaben, før behandling af logikken for hver egenskabstilbagekald, som vist i følgende kode:
javaBean.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent e) { if ((e.getPropertyName().equals("font"))) { System.out.println("propertyChange(font)"); } } });
Det tillader en PropertyChangeListener, der er tilføjet med en enkelt-argumentsmetode, at blive anvendt af mere end en egenskab ved at anvende flere if{}-blokke, og når det andet og efterfølgende egenskabstilbagekald tilføjes, tilføjes der nye if{}-blokke.
Hvis propertyChangeListener tilføjes til Java-bean'en vha. to-argumentsmetoden addPropertyChangeListener(Streng propertyName, PropertyChangeListener-lytter), er den specifik for en bestemt egenskab og kan ikke genanvendes til en anden egenskab. I så fald er underordnede menupunkter til Aktiviteter deaktiveret.