Cómo usar CardLayout con Netbeans GUI Builder

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 puedes 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

Cómo usar CardLayout

  1. Con un nuevo formulario JFrame , agregue un JPanel , unos JButtons al formulario para que se vea así.

    enter image description here

    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 .

    enter image description here

  2. Ahora vemos el diseño de mainPanel a CardLayout . Haga doble clic en el mainPanel 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í

    enter image description here

  3. Ahora vamos a agregar diferentes JPanels al mainPanel . Simplemente haga clic derecho en el mainPanel desde el navegador y seleccione Agregar desde paleta -> Contenedores oscilantes -> JPanel . Hazlo tres veces para que tengas tres JPanels diferentes. También cambié sus nombres de variable. Tu navegador no debería verse así.

    enter image description here

  4. La parte del diseño está configurada, pero agreguemos algunas tags para que podamos diferenciar entre los JPanels y también cambiar el nombre de su tarjeta . Haga doble clic en panelOne del navegador. Verá el panel en la vista de diseño. Simplemente arrastre y suelte un JLabel y edite el texto de la etiqueta en el Panel One . Hazlo por los otros dos también, nombrando sus tags en consecuencia. Cuando haya terminado, su navegador debería verse así.

    enter image description here

    También queremos cambiar el nombre de los paneles que se dieron como referencias de CardLayout . Podemos hacer eso haciendo doble clic en uno de los paneles ( panelOne ) y yendo al panel de propiedades. Allí, hacia abajo, verá una propiedad Card Name . Simplemente panelOne a lo que quieras, utilicé panelOne . Haz eso para los otros dos JPanel

    enter image description here

    Nota: En cualquier momento, puede cambiar la posición del diseño, por ejemplo, quiere que inicialmente se muestre el panelTwo lugar de panelOne . Simplemente haga clic derecho en mainPanel y seleccione Cambiar orden . Puede mover los paneles hacia arriba o hacia abajo en el orden.

  5. 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ón Panel One . y seleccione Events -> Action -> actionPerformed . Debería ver el código generado automáticamente en la vista del código fuente. Agrega esta pieza de código

     private 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 progtwig debería ejecutarse de la siguiente manera.

enter image description here


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.

enter image description here

    Intereting Posts