Java - Estoy desesperado con JTabbebPanel y nullLayout

 
Vista:

Estoy desesperado con JTabbebPanel y nullLayout

Publicado por pedrito (16 intervenciones) el 21/03/2006 04:01:54
Hola a todos:
Llevo meses con una apliacicíon y llevo arrastrando un error que se está convirtiendo en desesperación.
Mi aplicación debe usar muchos paneles (15 para ser exacto) y cada uno con varios componntes (unos diez cada uno). De modo que he optado por usar un JTabbedPanel para agruparlos. De esta forma, tengo creadas 15 clases derivadas de JPanel con sus componentes y usando un Layout null para posicionarles los componentes.
Así que creo un JTabbedPanel y voy añadiendo pestañas con esos paneles.
Al final, uso el método setSelectedComponent() del JTabbedPanel para activar una de las pestañas, pero lo cierto es que los paneles, al irse añadiendo y tener Layout null, se muestran como transparentes y debo recorrer pulsando todas las pestañas para que ya deje de mostrarse transparentes.

He probado a usar setOpaque() en los paneles y a compactar la interface gráfica con pack() pero sigue sin funcionar. Tambien he probado a hacer un repaint() a cada panel.
No les muestro código porque es bastante extenso y usa muchas clases (15 para los paneles mas otra para la aplicación y otra para el gui)
¿Alguien puede decirme a qué se debeeste comportamiento del JTabbedPanel ??
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Estoy desesperado con JTabbebPanel y nullLayout

Publicado por manru (161 intervenciones) el 21/03/2006 04:20:57
Hola:

Creo haber tenido un problema similar...
No recuerdo en este momento como lo solucioné, solo puedo decirte que el problema está en la visibilidad del componente.
Si el componente esta oculto, por más que llames a repaint() no se repintará.
Debe estar visible para que haga su efecto.
Desearia poder darte mas información...
puedes leer algo aqui http://java.sun.com/docs/books/tutorial/uiswing/14painting/concepts.html

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Estoy desesperado con JTabbebPanel y nullLayout

Publicado por chuidiang (950 intervenciones) el 21/03/2006 08:42:36
Hola:

Intenta quitar el layout null y poner un layout en condiciones. Con layout null, los paneles no tienen tamaño (salvo que lo fijes tú) y los métodos pack() no sirven para nada. Es posible que te queden paneles de tamaño cero y por eso no se vean o veas el de detrás.

Si añades los componentes al panel cuando este ya está visible y añadido al JTabbedPane, tampoco se verán hasta que hagas un redimensionado de la ventana, pinchado en la pestaña del JTabbedPane, etc. Puedes probar a construir los paneles antes de meterlos en el JTabbedPane y antes de que sean visibles. La otra opción es llamar al método updateUI() del panel.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar