如何将 CardLayout 与 Netbeans GUI Builder 一起使用如何使用卡片布局

前言(这是一篇自我回答的文章)

我已经用 Netbeans GUI Builder 弄湿了脚步,但我还没有开始深入研究它来学习更复杂的细节。我真的不知道从设计角度更改布局管理器,我只是手动编写代码。因此,我尝试通过询问“如何在Netbeans GUI Builder中使用不同的布局管理器”来询问Google帮助台,并令人惊讶地在结果的前几页中发现了zilch。在 Eclipse Window Builder 中,您可以从调色板中拖放不同的布局管理器,这样为什么不在 GUI Builder 中。瞧,经过几个小时的搜索,我从容器组件的上下文菜单中找到了神奇的设置布局。现在我准备统治世界!

我想我加入了一些关于如何使用GUI Builder中不同布局管理器的教程,所以其他人不会秃头撕扯他们的头发,试图弄清楚我一直在为自己弄清楚什么。完成(下图)上的第一个教程后,我准备发布我的努力并输入“提问”页面的标题“如何将CardLayout与Netbeans GUI Builder一起使用”。什么...!.关于这个话题已经提出了一些问题!!.我想我应该让我的谷歌查询更精确。哎呀!CardLayout

无论如何,我现在有这个教程,它仍然比其他答案中提供的教程更有信息量,所以我的努力不会被浪费(所以我告诉自己:D)。也许我会做一系列的这些tuts。我们拭目以待。现在,享受如何使用CardLayout:P


答案 1

如何使用卡片布局

  1. 使用新表单,向表单中添加一个 、几个,使其如下所示JFrameJPanelJButtons

    enter image description here

    导航器窗格应如下所示。请注意,我更改了变量名称。您可以通过右键单击导航器中的组件并选择更改变量名称来执行此操作。

    enter image description here

  2. 现在我们了解到 的布局。在导航器中双击 ,使其在设计视图中单独可见。然后在导航器中右键单击它并选择设置布局 - >卡布局。您的导航器现在应如下所示mainPanelCardLayoutmainPanel

    enter image description here

  3. 现在,我们将向 添加不同的 .只需右键单击导航器中的,然后选择“从组件面板添加” -> Swing Containers -> JPanel。这样做三次,这样你就有三个不同的。我还更改了他们的变量名称。您的导航器不应如下所示。JPanelsmainPanelmainPanelJPanels

    enter image description here

  4. 布局部分已设置,但让我们添加一些标签,以便我们可以区分并更改其卡名称。因此,请从导航器中双击。您将在设计视图中看到该面板。只需将 拖放 到它,然后将标签文本编辑为 。对其他两个也这样做,相应地命名它们的标签。完成后,导航器应如下所示。JPanelspanelOneJLabelPanel One

    enter image description here

    我们还希望更改作为参考给出的面板的名称。我们可以通过双击其中一个面板()并转到属性窗格来执行此操作。在底部,您将看到一个属性 。只需将其更改为您想要的任何内容,我使用了.为其他两个这样做CardLayoutpanelOneCard NamepanelOneJPanel

    enter image description here

    注意:您可以随时更改布局位置,例如您希望最初显示,而不是 .只需右键单击并选择“更改订单”。您可以在订单上向上或向下移动面板。panelTwopanelOnemainPanel

  5. 我们差不多完成了。我们只需要将侦听器添加到按钮中,即可在 面板之间切换。因此,请从导航器中双击框架。您现在应该看到这些按钮。右键单击该按钮。,然后选择 。您应该会在源代码视图中看到自动生成的代码。添加这段代码CardLayoutPanel OneEvents -> Action -> actionPerformed

    private void jbtPanelOneActionPerformed(ActionEvent evt) {                                            
        CardLayout card = (CardLayout)mainPanel.getLayout();
        card.show(mainPanel, "panelOne");
    } 
    

    对其他两个按钮执行此操作,确保将相应面板的正确名称传递给该方法。show

如果您已执行上述 5 个步骤,则程序应按如下方式运行。

enter image description here


也可以将其他类 JPanel 表单类拖放到您的 上,如果您有其他要使用类。对于较大的非平凡案例,这可能是一种首选方法,以避免繁琐的类。mainPanel

enter image description here


答案 2

推荐