Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Componentes Swing: JTextField Y JLabel

Java JDK 7.0 SE / Eclipse Kepler

Hola a todos

En un JFrame se ubican, por ejemplo, 3 componentes: JTextField, JLabel y JButton.
Al pulsar el Botón en el Campo De Texto y en la Etiqueta debe mostrarse el mensaje "Hola".

Sin embargo en el Controlador de Evento del Botón se presenta el siguiente problema: A excepción del Componente JTextField, los demás, como el JField (y por ejemplo también el JCheckBox) deben incluir en la definición del Componente (autogenerado en Eclipse) la instrucción final para poder ser reconocido en el código dentro del Controlador De Evento del Botón. El Componente JTextField no presenta esta restricción y es reconocido normalmente.

1º ¿Cuál es la funcionalidad completa de la instrucción final, pues se entiende que permite declarar Constantes?
2º ¿Es normal que tenga que incluirse final para reconocer los Componentes y utilizar sus Métodos? o ¿Cuál es la forma óptima de trabajar con los Componentes desde los Controladores De Evento?

Desde ya Muchísimas Gracias

agosto 19, 2014 | Unregistered CommenterSkar.2007

1. La palabra reservada final no sirve solo para declarar constantes. También se usa para evitar que se asigne una nueva instancia a la variable, o al parámetro de un método.

2. No, no es normal que deba hacerse, si es una propiedad de la clase. Hay casos en que las variables deben hacerse final, por ejemplo si se usan dentro de lambdas de JavaSE 1.8 (y no son propiedades de la clase), o si se usan dentro de una tarea en background (y tampoco son propiedades de la clase).

En cuanto a la forma óptima... se usan sin más.

Sin ver el código generado, poco más se puede decir.

agosto 19, 2014 | Registered Commenterchoces