2009-08-03 20 views
5

Tengo un JPanel que quiero agregar algunos componentes. en particular JButton s en tiempo de ejecución en función del contenido de un archivo proporcionado por el usuario.Cómo agrego componentes a un JPanel en tiempo de ejecución

puedo añadir compontents al panel si lo llamo desde el constructor de la clase de formulario JFrame derivada, incluso después de todo lo demás se han construido, pero si leo el archivo primero y continuación agregar componentes al panel de la llamada éxito, pero los componentes agregados nunca se muestran.

¿Alguien sabe cómo obligo a Java a hacer lo que quiero?

Respuesta

4

Llame al método validate() en el JPanel después de haber agregado el JButton s a él.

+1

Creo que revalidate() debería usarse para Swing, aunque el 99% de las veces funcionará. – camickr

+0

revalidar se usa para provocar que todos los elementos principales del componente al que se llama distribuyan sus elementos secundarios. Para un uso simple como este, validate funcionará muy bien. –

Cuestiones relacionadas