2012-06-13 20 views
6

Sono un principiante Java quindi le mie domande potrebbero sembrare semplici. Ma ho bisogno di una certa direzione da parte dei tuoi ragazzi.Elenco funzioni come selezioni in Java

Ecco la mia domanda: ho una classe con molti metodi, vorrei dare questi metodi all'utente in una combox per selezionare, in base alla loro selezione verrà eseguito del codice. Ora posso farlo scrivendo il metodo di selezione dell'interruttore. In base alla selezione, utilizzo switch per eseguire un metodo particolare.

Ma il mio elenco di funzioni è abbastanza lungo vicino a 200, COSÌ le mie domande a voi è: c'è un modo più intelligente di farlo. Basta indicarmi la direzione giusta e cercherò di fare il resto.

risposta

2

Penso che esaminare Java Reflection sarebbe il miglior punto di partenza, supponendo di aver capito cosa si vuole fare correttamente.

1

È possibile utilizzare la riflessione (è possibile trovare un sacco di informazioni su Google), ma non lo è una buona pratica per mostrare semplicemente i tuoi metodi all'utente. In un'applicazione più complessa si dovrebbe cercare di presentazione separata e vera esecuzione di ciò che l'utente vuole

0

Ogni selezione potrebbe essere rappresentato da un Enum che è costruito come un insieme di puntatori a funzione:

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

La sintassi sarà bisogno di un po 'di lavoro, ma nel client si può semplicemente chiamare

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

non è poi così disuguale alla tua istruzione di commutazione, ma non mi piace la riflessione per le cose che si possono fare senza di essa. – David