# Action Event auslösen bei unbekanntem JTextField



## Oli (4. Dez 2008)

Hallo,

folgendes Problem:

Ich stelle in meiner Klasse einen FocusListener zur Verfügung. Dieser wird von einem JTextField einer anderen Klasse, auf die ich sonst keinen Zugriff habe verwendet. Nun möchte ich aber, wenn das JTextField den Focus verliert die actionPerformed dieses Textfeldes aufrufen.

Ich bekomme ja mit e.getComponent() vom FocusListener das JTextfeld. Ist es da nicht möglich, ein ActionEvent zu feuern? An die Methode actionPerformed() des JTextFeldes komme ich nicht ran, da ich keinen Zugriff auf die Klasse habe, in der dieses initialisiert wird. 

die Methode textFeld.fireActionPerformed() ist ja protected. (Warum auch immer...). Wie kann man das auf andere Weise lösen?


Grüße Oli


----------



## Gast2 (4. Dez 2008)

du schreibst in der anderen Klasse eine Methode in welcher das fire Event drin steckt... und rufst diese Klasse aus der anderen klasse auf...


----------



## Oli (4. Dez 2008)

Hi,

danke für die Antwort, aber wahrscheinlich hab ich mich nicht konkret genug ausgedrückt.
Ich kann in die andere Klasse nichts reinschreiben. Das ist ne Library, die ich nicht bearbeiten kann (und darf). Ist halt schlecht programmiert, und das will ich eben irgendwie ausbessern.

Das einzige was ich habe ist über den FocusListener das Textfeld. Mehr leider nicht.
Selbst die actionPerformed dieser Klasse ist private oder protected. 

Grüße Oli


----------



## SlaterB (4. Dez 2008)

hier eine Methode aus JTextField, vielleicht reicht die:


```
/** 
     * Processes action events occurring on this textfield by
     * dispatching them to any registered <code>ActionListener</code> objects.
     * This is normally called by the controller registered with
     * textfield.
     */  
    public void postActionEvent() {
        fireActionPerformed();
    }
```


----------

