2012-06-13 12 views
6

Soy un principiante de Java, por lo que mis preguntas pueden parecer fáciles. Pero necesito una dirección de tus muchachos.Lista de funciones como selecciones en Java

Aquí está mi pregunta: Tengo una clase con varios métodos, me gustaría dar estos métodos al usuario en una combox para seleccionar, en función de su selección se ejecutará algún código. Ahora puedo hacerlo escribiendo el método de selección de interruptor. Donde basado en la selección utilizo el interruptor para ejecutar un método particular.

Pero mi lista de funciones es bastante larga, cerca de 200, así que mis preguntas son: ¿hay una forma más inteligente de hacerlo? Solo apúntame en la dirección correcta y trataré de hacer el resto.

Respuesta

2

Creo que buscar en Java Reflection sería el mejor lugar para comenzar, suponiendo que he entendido lo que quiere hacer correctamente.

1

Puede utilizar la reflexión (se puede encontrar una gran cantidad de información en Google), pero no es una buena práctica para mostrar simplemente sus métodos al usuario. En una aplicación más compleja que debe tratar de presentación por separado y la verdadera ejecución de lo que el usuario desee

0

Cada selección podría ser representado por una enumeración que se construye como un conjunto de punteros a funciones:

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

La sintaxis se necesita un poco de trabajo, pero en el cliente que sólo puede llamar

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

que realmente no es tan disimilar a su estado de interruptor, pero no me gusta la reflexión de las cosas que se pueden hacer sin ella. – David

Cuestiones relacionadas