java - create - Cómo usar CardLayout con Netbeans GUI Builder
netbeans java gui builder (1)
Cómo usar CardLayout
Con un nuevo formulario
JFrame
, agregue unJPanel
, unosJButtons
al formulario para que se vea así.
Su panel de navegación debería verse así. Observe que cambié los nombres de las variables. Puede hacer eso haciendo clic derecho en el componente del navegador y seleccionando cambiar el nombre de la variable .Ahora vemos el diseño de
mainPanel
aCardLayout
. Haga doble clic en elmainPanel
en el navegador, por lo que es visible por sí mismo en la vista de diseño. A continuación, haga clic derecho en el navegador y seleccione Establecer diseño -> CardLayout . Tu navegador debería verse asíAhora vamos a agregar diferentes
JPanels
almainPanel
. Simplemente haga clic derecho en elmainPanel
desde el navegador y seleccione Agregar desde paleta -> Contenedores oscilantes -> JPanel . Hazlo tres veces para que tengas tresJPanels
diferentes. También cambié sus nombres de variable. Tu navegador no debería verse así.La parte del diseño está configurada pero permitamos agregar algunas etiquetas para que podamos diferenciar entre los
JPanels
y también cambiar el nombre de su tarjeta . Haga doble clic enpanelOne
del navegador. Verá el panel en la vista de diseño. Simplemente arrastre y suelte unJLabel
y edite el texto de la etiqueta en elPanel One
. Hazlo por los otros dos también, nombrando sus etiquetas en consecuencia. Cuando haya terminado, su navegador debería verse así.
También queremos cambiar el nombre de los paneles que se dieron como referencias deCardLayout
. Podemos hacer eso haciendo doble clic en uno de los paneles (panelOne
) y yendo al panel de propiedades. Allí, hacia abajo, verá una propiedadCard Name
. SimplementepanelOne
a lo que quieras, utilicépanelOne
. Haz eso para los otros dosJPanel
Nota: En cualquier momento, puede cambiar la posición del diseño, por ejemplo, quiere que inicialmente se muestre elpanelTwo
lugar depanelOne
. Simplemente haga clic derecho enmainPanel
y seleccione Cambiar orden . Puede mover los paneles hacia arriba o hacia abajo en el orden.Ya casi hemos terminado. Solo necesitamos agregar a los oyentes a los botones para alternar entre paneles en
CardLayout
. Haga doble clic en el marco del navegador. Deberías ver los botones ahora. Haga clic derecho en el botónPanel One
. y seleccioneEvents -> Action -> actionPerformed
. Debería ver el código generado automáticamente en la vista del código fuente. Agrega esta pieza de códigoprivate void jbtPanelOneActionPerformed(ActionEvent evt) { CardLayout card = (CardLayout)mainPanel.getLayout(); card.show(mainPanel, "panelOne"); }
Haga esto para los otros dos botones, asegurándose de pasar el nombre correcto del panel correspondiente al método
show
.
Si ha seguido los 5 pasos anteriores, su programa debería ejecutarse de la siguiente manera.
También es posible arrastrar y soltar otras clases de formulario JPanel de clase en su mainPanel
, si tiene otras que le gustaría usar. Este puede ser un enfoque preferido para casos no triviales más grandes, para evitar clases de gran tamaño.
Esta pregunta ya tiene una respuesta aquí:
Prefacio (esta es una publicación de auto-respuesta)
Me he empapado los pies con Netbeans GUI Builder, pero no estoy empezando a sumergirme en él para aprender los detalles más intrincados. Realmente ni siquiera sabía que cambiar el administrador de diseño de la vista de diseño, simplemente lo codificaría a mano. Así que traté de preguntar al servicio de ayuda de Google al preguntar "Cómo usar diferentes administradores de diseño en el Constructor de GUI de Netbeans" y, sorprendentemente, encontré nada en las primeras páginas de los resultados. En Eclipse Window Builder, desde la paleta puede arrastrar y soltar diferentes administradores de diseño, así que ¿por qué no en GUI Builder? Y he aquí, después de horas de búsqueda, encontré el conjunto mágico de diseños en el menú contextual de un componente contenedor. ¡Ahora estoy listo para gobernar el mundo!
Me imaginé que incluiría algunos tutoriales sobre cómo usar diferentes administradores de diseño desde GUI Builder, aquí en SO para que otros no se vuelvan calvos, tratando de descubrir qué es lo que he estado averiguando por mí mismo. Después de completar el primer tutorial sobre CardLayout
(a continuación), me CardLayout
para publicar mis esfuerzos y escribir en el título de la página Ask Question , "Cómo utilizar CardLayout con Netbeans GUI Builder" . Que ...!! . ¡Ya se hicieron algunas preguntas sobre este tema! Creo que debería haber hecho mi consulta de Google más precisa. DOHH!
De todos modos, tengo este tutorial ahora, que es aún más informativo que los proporcionados en otras respuestas, por lo que mis esfuerzos no se han desperdiciado (por lo que me digo a mí mismo: D). Tal vez haga una serie de estos tuts. Ya veremos. Por ahora, disfruta de Cómo utilizar CardLayout : P