有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Netbeans GUI Builder中使用CardLayout

前言(这是一篇自我回答的帖子)

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

我想我在这里加入了一些教程,介绍如何使用GUI Builder中的不同布局管理器,这样其他人就不会为了弄明白我一直在为自己弄明白什么而变得秃顶。在完成关于CardLayout(以下)的第一个教程后,我准备发布我的成果,并键入提问页面的标题,“如何使用带Netbeans GUI Builder的CardLayout”什么是。在这个话题上已经有一些问题了!!。我想我应该让我的谷歌查询更加精确。啊

无论如何,我现在有了这个教程,它仍然比其他答案中提供的内容更丰富,所以我的努力不会白费(所以我告诉自己:D)。也许我会做一系列的图坦卡门。我们拭目以待。现在,请欣赏如何使用CardLayout:P


共 (1) 个答案

  1. # 1 楼答案

    如何使用CardLayout

    1. 使用一个新的JFrame表单,在表单中添加一个JPanel,几个JButtons,如下所示

      enter image description here

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

      enter image description here

    2. 现在我们使用mainPanelCardLayout的布局。双击导航器中的mainPanel,这样它就可以在设计视图中看到。然后在导航器中右键单击它并选择设置布局->;卡片布局。您的导航器现在应该如下所示

      enter image description here

    3. 现在我们将向mainPanel添加不同的JPanels。只需右键单击导航器中的mainPanel,然后选择从调色板添加->;摆动式集装箱->;JPanel。这样做三次,你就有三个不同的JPanels。我还更改了它们的变量名。您的导航器不应该是这样的

      enter image description here

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

      enter image description here

      我们还希望更改作为CardLayout引用提供的面板的名称。我们可以通过双击其中一个面板(panelOne)并转到属性窗格来实现这一点。在底部,您将看到一个属性Card Name。只要把它改成你想要的,我用了panelOne。对另外两个JPanel执行此操作

      enter image description here

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

    5. 我们差不多完成了。我们只需要将侦听器添加到按钮中,以便在CardLayout中的面板之间切换。因此,双击导航器中的框架。你现在应该看到按钮了。右键单击Panel One按钮。然后选择Events -> 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