A Visual Editor for Java Terv nézetben vagy Java Beans nézetben hozzáadhat egy eseményt egy komponenshez.
Egy esemény felvételekor ha létezik használható figyelő, akkor a szerkesztő automatikusan hozzáad egy visszahívási metódust. Ellenkező esetben egy új figyelőt hoz létre. Ennek vagy a visszahívási metódus üres törzsét tartalmazza, vagy egy illesztőosztályt valósít meg. Ez utóbbi esetben nem tartalmaz metódust a hozzáadandó esemény visszahíváshoz. Ha a tulajdonsághoz tartozó figyelőt az egy argumentumos addPropertyChange(PropertyChangeListener listener) metódussal adja hozzá a Java komponenshez, akkor szerkesztő egy meglévő PropertyChangeListener figyelőt hasznosít újra. Ha ez üres, akkor belekerül a tulajdonságot feldolgozó kódrészlet.
Ha nincs olyan lehetséges figyelő, amelyhez a visszahívási metódust hozzá lehetne adni, akkor egy anonim belső osztály új figyelő jön létre. Ha van megadva illesztőosztály az eseményhez, akkor az új figyelő kiterjeszti azt. Ellenkező esetben a figyelő felületet valósítja meg. Az esemény hozzáadása után egy //TODO megjegyzéssel ellátott metóduscsonk jön létre. A //TODO megjegyzés megjelenik a nem teljes metódusokat jelző Feladatok ablakban. Később, ha elkészítette a visszahívási logikát, akkor megkeresheti a //TODO megjegyzést, és eltávolíthatja a metódusból.
Az előző példában a windowOpened metódus már létezik. Ha ez az illesztőt kiterjesztő figyelő, akkor újra felhasználható, mert nem rendelkezik windowClosed metódussal. A szerkesztő felveszi a windowClosed(WindowEvent e) metódust, és hozzáadja a metóduscsonkot a //TODO megjegyzéssel az alábbiak szerint:
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(); } });
Részletes módban az eseményeket hozzáadhatja a fent ismertetett módon, de Java Beans fában is. Az Események menü a figyelő összes visszahívási metódusát tartalmazza, a már használatban lévők tiltottak.
A PropertyChangeListener előugró menüje a JavaBean összes kötött tulajdonságát tartalmazza. Ha ezek közül valamelyiket már használ a PropertyChangeListener, akkor az a menüben nem elérhető.
Az egyetlen argumentumos metódussal felvett figyelő egy if utasítással ellenőrzi a nevét az egyes tulajdonság visszahívások feldolgozása előtt:
javaBean.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent e) { if ((e.getPropertyName().equals("font"))) { System.out.println("propertyChange(font)"); } } });
Ez lehetővé teszi, hogy az egyetlen argumentumos metódussal felvett PropertyChangeListener-t több if{} blokk használatával több tulajdonsághoz is lehessen használni. A további tulajdonság visszahívások felvételekor új if{} blokkokat kell hozzáadni.
Ha a propertyChangeListener-t az addPropertyChangeListener(String propertyName, PropertyChangeListener listener) két argumentumos metódussal adja hozzá a Java komponenshez, akkor az csak egy adott tulajdonsághoz tartozik, és nem lehet felhasználni másik tulajdonsághoz. Ebben az esetben az Események almenü összes leszármazottja tiltott.