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

crear componentes en tiempo de ejecucion

Estas en el tema de crear componentes en tiempo de ejecucion en el foro de Java en Foros del Web. Estoy haciendo una aplicacion con un jinternalframe inicial, al pulsar un boton, tengo que abrir un nuevo jinternalframe con x paneles iguales dentro, uno debajo ...
  #1 (permalink)  
Antiguo 15/06/2005, 04:49
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 10
Antigüedad: 19 años
Puntos: 0
crear componentes en tiempo de ejecucion

Estoy haciendo una aplicacion con un jinternalframe inicial, al pulsar un boton, tengo que abrir un nuevo jinternalframe con x paneles iguales dentro, uno debajo de otro. El numero lo recojo de un jtextfield del principal.

El problema es que no se como crear esos x paneles diferentes, pues los componentes de dentro del panel no pueden tener el mismo nombre

Gracias
  #2 (permalink)  
Antiguo 15/06/2005, 04:54
 
Fecha de Ingreso: mayo-2005
Mensajes: 423
Antigüedad: 19 años
Puntos: 1
facilon

tu cuando creas la nueva ventana en vez de hacer Ventana2 v = new Ventana2();
haces Ventana2 v = new Ventana2(x) ; siendo x el jtextField.getText() q sera un int

luego en el constructor de la ventana 2 con un for (int i = 0 ;i<valor ventana;i++)
{
y haces tantos paneles como kiersa

}


salu2
__________________
Dios creo un equipo perfecto a los demas los lleno de extranjeros
  #3 (permalink)  
Antiguo 15/06/2005, 08:30
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 10
Antigüedad: 19 años
Puntos: 0
Gracias Legolas, despues de hacer eso he tenido el problema de como acceder luego a los botones que estan dentro del panel pues todos se llamaban igual, y me devolvian como getName null.
Ya lo he solucionado, por si a alguien le sirve:

for (int i = 0 ;i<valor ventana;i++)
{
JPanel p = new JPanel();
JButton b = new JButton();
p.add(b);
b.setName("b" + i);
}
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 13:11.