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

Problema con JPanel.removeAll()

Estas en el tema de Problema con JPanel.removeAll() en el foro de Java en Foros del Web. Hola, mi problema es el siguiente: elimino todos los componentes de un JPanel con el método removeAll() y luego cuando añádo nuevos no me los ...
  #1 (permalink)  
Antiguo 19/04/2012, 06:31
 
Fecha de Ingreso: abril-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Problema con JPanel.removeAll()

Hola,


mi problema es el siguiente: elimino todos los componentes de un JPanel con el método removeAll() y luego cuando añádo nuevos no me los muestra

Este el botón que refresca mi JPanel:

Código:
_controlador.set_botonSiguiente(new JButton("Empezar")); 
_controlador.get_botonSiguiente().addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent e) {
		if (_controlador.get_qIndex()==0){
			_controlador.get_botonSiguiente().setText("Siguiente");	 	 				
			_controlador.creaPanelPregunta(_panelPregunta);
                        _ventana.getContentPane().add(_panelPregunta, BorderLayout.CENTER);
		}
		else{
			_controlador.manejadorSiguiente(_panelPregunta);
		}
		_controlador.set_qIndex(_controlador.get_qIndex()+1);
	}
});
Este es el método que llama en primer lugar :

Código:
public void creaPanelPregunta(JPanel panelPregunta){	
			
		// Panel pregunta
		JLabel prueba = new JLabel();
		prueba.setText("Creando panel de pregunta");
		panelPregunta.add(prueba, BorderLayout.NORTH);
		
		JLabel prueba2 = new JLabel();
		prueba2.setText("Creando otro panel de pregunta");
		panelPregunta.add(prueba2, BorderLayout.SOUTH);
	}
Llegado este punto tengo lo siguiente:

[URL=http://img196.imagevenue.com/img.php?image=836653387_Imagen1_122_581lo.jpg][IMG]http://img196.imagevenue.com/loc581/th_836653387_Imagen1_122_581lo.jpg[/IMG][/URL]


Y ahora mi problema, al ejecutar el método manejadorSiguiente(JPanel panelPregunta):

Código:
public void manejadorSiguiente(JPanel panelPregunta){
	
	System.out.println("1: "+panelPregunta.getComponentCount());
	if (this._qIndex%2==0)
		panelPregunta.setBackground(Color.red);
	else
		panelPregunta.setBackground(Color.white);

	panelPregunta.removeAll();
	panelPregunta.repaint();
	
	JLabel prueba = new JLabel();
	prueba.setText("Creando un panel nuevo de preguntas");
	prueba.setVisible(true);
	prueba.setEnabled(true);
	panelPregunta.add(prueba, BorderLayout.NORTH);
}
no me muestra el contenido del panel, solo me cambia el backgroundcolor:

[URL=http://img283.imagevenue.com/img.php?image=836881969_Imagen2_122_541lo.JPG][IMG]http://img283.imagevenue.com/loc541/th_836881969_Imagen2_122_541lo.JPG[/IMG][/URL]


Gracias de antemano.

Un saludo.
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 04:15.