Foro sobre Java SE > Cambio de JPanel
Para eso Yo te recomiendo usar un BorderLayout en tu jframe, y en la parte central, le pones un jdesktop, y en la parte superior un jToolBar, en la cual pongas una serie de botones, despues en lugar de crear paneles, crea JInternalFrames, y con los botones superiores, lo usas para mostrar u ocultar, los distintos JInternalFrames añadidos en tu jdesktop, es como tener ventanas internas.
te pongo una captura de algo como lo que te indico.
Imagen
Te digo mas que nada, porque como tengas muchos paneles, te vas a volver loco, jejeje
Sobre tus preguntas, si se pueden añadir unos paneles dentro de otros y todos los que quieras, pero java funciona normalmente con layouts(plantillas). Entonces no tendrías que andar mostrando unos u ocultando otros, lo que tendrias que hacer es poner un layout, y metiante un boton, quitarias un panel del jframe y cargarias el otro panel, la verdad que despues de la recomendacion, no seria dificil hacerlo. Bueno pues eso cuestion de establecer una plantilla y con un boton andar quitando un panel, y añadiendo el otro.
Y como te digo los jframe,los jpanel, ... funcionan con layout, tendras que buscar la plantilla que mejor se adapte a lo que necesites. Algunas son responsive, otras no, por ejemplo, borderLayout es responsive. Bueno ya tu investigas.
Y nada ya tu eliges, o mi recomendacion del jdesktop o andar quitando añadiendo paneles.
Gracias por la aclaración, estoy empezando en java y no conocía jdesktop pero me viene genial para lo que quiero hacer y se ve más facil que lo de los paneles. Gracias de nuevo y saludos.
Buenas, tengo un problema con una app grafica. Estoy creando una aplicación que contenga herramientas como calculadora, creador de graficos, ect.. Mi problema es que quiero mostrar todo el contenido en la misma ventana. He creado un JFrame que contiene un JPanel con un boton para cada herramienta pero estoy hecho un lio con los oyentes, resumiendo como hago que los JPanel se sobrescriban o se oculten usando botones? Se puede añadir un panel dentro de otro (y que lo muestre encima) o habría que hacerlo desde el Frame, y en ese caso como se haría? Gracias por la ayuda :D