2012-06-13 8 views
6

Jestem nowicjuszem Java, więc moje pytania mogą wyglądać na łatwe. Ale potrzebuję jakiegoś kierunku od twoich facetów.Funkcje listy jako wybory w Javie

Oto moje pytanie: Mam klasę z mnóstwem metod, chciałbym dać te metody użytkownikowi w skrzynce combox, aby wybrać, na podstawie ich wyboru jakiś kod zostanie uruchomiony. Teraz mogę to zrobić, pisząc metodę wyboru przełącznika. Gdzie na podstawie wyboru używam przełącznika, aby uruchomić konkretną metodę.

Ale moja lista funkcji jest dość długa blisko 200, więc moje pytania do ciebie brzmią: czy jest to mądrzejszy sposób robienia tego. Po prostu wskaż mi właściwy kierunek, a ja postaram się zrobić resztę.

Odpowiedz

2

Uważam, że najlepiej byłoby zacząć od refleksji w języku Java, zakładając, że zrozumiałem, co chcesz zrobić poprawnie.

1

Można użyć refleksji (można znaleźć wiele informacji na temat Google), ale nie jest dobrą praktyką do prostego pokazania twoich metod dla użytkownika. W bardziej złożonej aplikacji należy spróbować oddzielnej prezentacji i prawdziwej realizacji, co użytkownik chce

0

Każdy wybór mógłby być reprezentowany przez Enum która zbudowana jest jako zestaw wskaźników funkcji:

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

Składnia będzie trzeba trochę pracy, ale w kliencie można po prostu zadzwonić

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

to naprawdę nie jest disimilar do instrukcji switch, ale lubię odbicie na rzeczy, które można zrobić bez niego. – David