TDM Geschrieben 8. August 2006 Geschrieben 8. August 2006 Hallo, ich habe das Problem, dass ich das Event-Handling eines Panels verkürzen möchte und das ganze am Beispiel eines Textfeldes. Bis jetzt hab ich für jedes Textfeld einen Event-Listener erstellt. Diese sind anonyme Klassen. Bei 20-30 anonymen Klassen verlier ich aber den Überblick. Also dachte ich mir das wie folgt: public class TestDymMet { [INDENT]private JTextfield txtTest = new JTextField();[/INDENT] [INDENT]TestDymMet() { [INDENT]txtTest.addKeyListner(new Test_keyAdapter(this));[/INDENT] }[/INDENT] [INDENT]protected void keyAdapter(KeyEvent e) { [INDENT]String methodName = ((JComponent) e.getSource()).getName() + "_keyReleased"; try { [INDENT]Method method = getClass().getMethod(methodName, e.getClass()); method.invoke(this, e);[/INDENT] } catch (Exception ex) { [INDENT]ex.printStackTrace();[/INDENT] }[/INDENT] }[/INDENT] [INDENT]protected void txtTest(KeyEvent e){ [INDENT]txtTest.setTest("test");[/INDENT] }[/INDENT] } class Test_keyAdapter extends KeyAdapter{ TestDymMet adaptee; Test_keyAdapter(TestDymMet adaptee){ this.adaptee = adaptee; } public void keyPressed(KeyEvent e) { adaptee.keyAdapter(e); } } So... Problem an der Sache ist nur, in der Struktur kommt immer eine java.lang.NoSuchMethodException Wenn die Funkion txtTest public ist, geht das Meine Frage also: kann ich Methoden dynamisch laden wenn diese protected oder private sind ? Zitieren
TDM Geschrieben 8. August 2006 Autor Geschrieben 8. August 2006 Problem gelöst.. getDeclaredMethod sucht alle Methoden, getMethod nur in public Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.