2012-06-13 8 views
6

Ich bin ein Java-Neuling, so dass meine Fragen wie eine einfache aussehen können. Aber ich brauche etwas Richtung von deinen Jungs.Liste Funktionen als Auswahlen in Java

Hier ist meine Frage: Ich habe eine Klasse mit einer Reihe von Methoden, ich möchte diese Methoden dem Benutzer in einer Combox zur Auswahl geben, basierend auf ihrer Auswahl wird einige Code ausgeführt. Jetzt kann ich dies tun, indem ich die Schalterauswahlmethode schreibe. Wo basierend auf Auswahl verwende ich wechseln, um eine bestimmte Methode auszuführen.

Aber meine Liste der Funktionen ist ziemlich lange in der Nähe von 200, SO meine Fragen an Sie ist: gibt es eine kluge Art, dies zu tun. Richten Sie mich einfach in die richtige Richtung und ich werde versuchen, den Rest zu machen.

Antwort

2

Ich denke, in Java Reflection zu suchen wäre der beste Ort zu starten, vorausgesetzt, ich habe verstanden, was Sie richtig machen wollen.

1

Sie können Reflektion verwenden Aufruf (Sie viele Informationen über Google finden kann), aber es ist nicht Eine gute Übung, um Ihre Methoden dem Benutzer einfach zu zeigen. In einer komplexeren Anwendung sollten Sie versuchen, auf eine gesonderte Darstellung und wahre Ausführung dessen, was Anwender wollen

0

Jede Auswahl durch eine Enum dargestellt werden könnten, die als eine Reihe von Funktionszeiger aufgebaut ist:

public enum FunctionPointer { 
F1 { 
    public SomeObject doFunction(args) { 
     YourClass.doMethod(args); 
    } 
}, 
//More enum values here... 
} 

Die Syntax wird brauche ein wenig Arbeit, aber im Client können Sie einfach anrufen

FunctionPointer.F1.doFunction("abc"); 
+0

es ist wirklich nicht so ähnlich wie Ihre switch-Anweisung, aber ich mag Reflektion für Dinge, die ohne es getan werden können. – David