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

[SOLUCIONADO] Problemas para actualizar contenido de un JFrame

Estas en el tema de Problemas para actualizar contenido de un JFrame en el foro de Java en Foros del Web. Hola companyeros, Estoy teniendo algunos problemas con una interfaz grafica en java con el ide netbeans. Tengo JFrame JPanel-> BorderLayout northView -> JPanel -> Contiene ...
  #1 (permalink)  
Antiguo 21/07/2015, 02:53
Avatar de anger32  
Fecha de Ingreso: septiembre-2012
Ubicación: UK
Mensajes: 42
Antigüedad: 11 años, 8 meses
Puntos: 1
Pregunta Problemas para actualizar contenido de un JFrame

Hola companyeros,

Estoy teniendo algunos problemas con una interfaz grafica en java con el ide netbeans.

Tengo

JFrame
JPanel-> BorderLayout
northView -> JPanel -> Contiene texto ( esta ubicado en north del border)
centerView -> JPanel -> GridBagLayout ( esta ubicado en center del border)

El BorderLayout es interactivo, es decir, actualizo los Jpanel (north, center) con metodos que substituye el Jpanel por otros.

Código:
public void setNorthView(JPanel northView) {
        this.north = northView;
        this.updateUI();
    }
No consigo actualizar el panel, se queda como si no sucediera nada. Es muy basico, ya que estoy practicando, no tiene ningun listner ni nada.

Mi pregunta es, como hay que proceder para actualizar la vista.
El JFrame es el padre que contiene el hijo (JPanel que es borderLayout) luego este tiene 2 hijos que se anyaden nuevos.

Estoy que me tiro de los pelos.

Gracias y espero vuestra ayuda.
  #2 (permalink)  
Antiguo 21/07/2015, 04:10
Avatar de anger32  
Fecha de Ingreso: septiembre-2012
Ubicación: UK
Mensajes: 42
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Problemas para actualizar contenido de un JFrame

Hola,

Rompiendo el coco y googleando encontre una solucion que no se si es la correcta, pero que me funciona.

Aqui dejo el cambio, lo que hago es eliminar el panel que he anyadido y he anyado uno nuevo.
Código:
public void setNorthView(JPanel northView) {
        remove(north);
        this.north = northView;
        add(north,java.awt.BorderLayout.NORTH);
    }
Si alguien tiene alguna sugerencia mas apropiada seria genial.

Saludos.
  #3 (permalink)  
Antiguo 21/07/2015, 04:24
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Problemas para actualizar contenido de un JFrame

Hola:

Eso es lo correcto, el que te guardes un panel en una variable tuya (this.north), no hace que ese panel esté dentro de una ventana o que se visualice. La forma de hacerlo es añadir (add ()) el panel a la ventana y como paso previo, si el hueco esta ocupado, hay que quitar el panel que había.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 22/07/2015, 01:43
Avatar de anger32  
Fecha de Ingreso: septiembre-2012
Ubicación: UK
Mensajes: 42
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Problemas para actualizar contenido de un JFrame

Gracias por confirmar la solucion.

Saludos

Etiquetas: contenido, jframe, netbeans
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 10:32.