CardLayout en Java
Hoy he estado intentando hacer en java que un panel apareciese en el lugar de otro pulsando un botón. Últimamente he estado programando en C# ,así que para mí lo más rápido era poner un panel encima de otro y mediante el botón poner visible uno u otro.
Pero en Java ,hay una opción que si cabe es incluso más fácil una vez la has descubierto, es el cardlayout.
El cardlayout convierte un panel en un contenedor de paneles, es decir dentro de un panel podemos poner muchos paneles y mediante código decidir cual es el que se ve.
Yo vengo utilizando Netbeans, así que lo he hecho casi todo de un modo gráfico, por la web hay manuales sólo utilizando código,yo realicé lo siguiente:
- Crear un Jpanel en blanco (jpanel1).
- Luego irme a la pestaña Inspector(normalmente abajo izquierda), elegir jpanel1, botón derecho ->Set Layout ->Card Layout.
- Crearme dos Jpanel ,con todas las cosas que necesito en su interior(etiquetas, botones,etc…).
- Arrastrarlos a jpanel1.
Ya Netbeans ha enlazado los paneles con jpanel1, si miramos el código veremos algo como esto:
jpanel1.add(jpanel2, “card2”);
jpanel1.add(jpanel3, “card3”);
Ya sólo tenemos que poner en nuestro click de botón lo siguiente:
CardLayout paletas = (CardLayout)jpanel1.getLayout();
paletas.show(jpanel1, “card2”);
Y se nos mostrará el primer panel, el mismo código pero cambiando “card2” por “card3” para que se muestre el otro panel.
Si teneís más dudas podéis consultar esta guía.



