Veröffentlicht 8. August 200619 j 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 ?
8. August 200619 j Autor Problem gelöst.. getDeclaredMethod sucht alle Methoden, getMethod nur in public
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.