modificar el acceso de un componente en eclipse

Iniciado por JenselG, 14 Abril 2018, 02:05 AM

0 Miembros y 1 Visitante están viendo este tema.

JenselG

hola a todos, tengo un serio problema al que no le he encontrado solucion: En eclipse tengo un JFrame con sus componentes, necesito acceder a un JLabel desde otra clase pero no puedo. ¿Como puedo modificar el acceso al los componentes del JFramel?
PD: no uso netbeans porque se bugea y se cierra solo. Gracias

srWhiteSkull

#1
Por su referencia, siempre que vayas a modificar un componente dinámicamente en tiempo de ejecución ten su referencia a mano. Java funciona así, por referencia. Una referencia no es una copia del objeto, es como un puntero, es el objeto en si, todo lo que hagas con la referencia se refleja en el objeto.

Ejemplo :


MiObjeto referencia=new MiObjeto();

MiObjeto otraReferencia = referencia;

MiObjeto nuevaReferencia = otraReferencia;

nuevaReferencia.metodo(1); // sigue siendo "referencia" (el que instanciamos al principio)


Para no perder la referencia podemos ayudarnos de clases estáticas o pasar la referencia por parámetro a un método como por ejemplo un constructor, etc... También podemos obtener la referencia por medio de funciones como getComponents() pero es una forma engorrosa y poco eficiente en términos de rendimiento.

https://docs.oracle.com/javase/8/docs/api/java/awt/Container.html#getComponents--
http://www.java2s.com/Code/Java/Swing-JFC/GettingtheChildComponentsofaContainer.htm

PD La referencia se mantiene viva mientras el ámbito donde fuera asignada no sea destruido. Si declaramos una variable en un ámbito local que toma la referencia de un objeto, dicha referencia podrá usarse dentro del ciclo de vida de esa variable.