Foros del Web » Programación para mayores de 30 ;) » Java »

Hacer referencia a elemento de otro frame!!

Estas en el tema de Hacer referencia a elemento de otro frame!! en el foro de Java en Foros del Web. Buenos dias, Tengo dos frames.Como se puede hacer referencia a un elemento de otro frame?Me explico:En el primer frame tengo dos jTextfield y un jButton,en ...
  #1 (permalink)  
Antiguo 04/01/2009, 06:49
 
Fecha de Ingreso: diciembre-2007
Mensajes: 32
Antigüedad: 16 años, 5 meses
Puntos: 0
Hacer referencia a elemento de otro frame!!

Buenos dias,

Tengo dos frames.Como se puede hacer referencia a un elemento de otro frame?Me explico:En el primer frame tengo dos jTextfield y un jButton,en el segundo frame tengo otro jButton.Quiero hacer que cuando el contenido de los dos jTextfield sean igual a cierta cosa,al dar al JButton del primer frame me active o desactive por ejemplo el jButton del otro frame.La comparacion la tengo hecha,esta bien pero me falta como hacer lo segundo,activar o desactivar el boton del otro frame.

Gracias.
  #2 (permalink)  
Antiguo 05/01/2009, 06:55
Avatar de TresPuntoDos  
Fecha de Ingreso: septiembre-2008
Ubicación: Madrid, España
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Hacer referencia a elemento de otro frame!!

Esto lo tendrias que hacer con Javascript
__________________
Tres punto Dos - Mi Blog sobre J2EE, Java, Struts y Diseño Web
Proyecto BloJ - Crea tu blog Java
  #3 (permalink)  
Antiguo 05/01/2009, 16:06
 
Fecha de Ingreso: diciembre-2008
Mensajes: 71
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Hacer referencia a elemento de otro frame!!

en el evento del boton del primer frame haces lo siguiente:

if(son iguales){ //depende tu condicion

SegundoFrame frame = new SegundoFrame();
frame.getMiBoton().setEditable(false);
frame.setVisible(true);

}
  #4 (permalink)  
Antiguo 06/01/2009, 06:22
 
Fecha de Ingreso: diciembre-2007
Mensajes: 32
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Hacer referencia a elemento de otro frame!!

Cita:
Iniciado por jkintero Ver Mensaje
en el evento del boton del primer frame haces lo siguiente:

if(son iguales){ //depende tu condicion

SegundoFrame frame = new SegundoFrame();
frame.getMiBoton().setEditable(false);
frame.setVisible(true);

}
En la linea en rojo se supone que "MiBoton"es el nombre del boton del 2º frame no?pues al hacer el frame.getMiBoton no me aparece el componente "MiBoton",alguna idea?
  #5 (permalink)  
Antiguo 14/01/2009, 01:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 71
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Hacer referencia a elemento de otro frame!!

cuando tu haces un programa con algun ide en especial ya sea netbeans o eclipse, y estas diseñando tus ventanas en el editor visual, por lo general estos ides te agregan un metodo de tipo publico para que acceses a tu componente.

el "getMiBoton()" es el metodo que te da acceso a tu atributo.

si no es el caso el "get" no lo utilizaras.

si no utilizas editores visuales y no utilizas metodos getters y setter.

tambien puedes hacerlo asi:

miFrame.MiBoton.disabled(true);
  #6 (permalink)  
Antiguo 14/01/2009, 01:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Respuesta: Hacer referencia a elemento de otro frame!!

En vez de acceder directamente al botón con o sin getter, lo más recomendable es que el primer frame tenga un metodo tipo "habilitar(boolean)" o algo parecido y que dentro de esa funciona sea el propio primer frame el que sepa que tiene que hacer. Por que hoy será solo (des)habilitar un boton, mañana será además poner un mensaje de estado o deshabilitar un checkbox...etc. Y si todas las acciones las puedes concentrar en un sitio, mejor, así cuando haya que modificar algo no tendrás que ir replicando cambios en todas las partes donde llamas a ese código.

Los diseños desacoplados son mas faciles de mantener.
S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:49.