一尘不染

Java如何在Netbeans GUI Builder中使用CardLayout

java

前言(这是一个自答帖子)

我已经开始使用Netbeans GUI Builder了,但是我只是没有开始深入研究它来学习更复杂的细节。我什至不知道从设计角度更改布局管理器的热情,我只是手工编写代码。因此,我尝试通过询问“如何在Netbeans GUI Builder中使用不同的布局管理器”来询问Google服务台,并出人意料地在结果的前两页中找到了zilch。在Eclipse Window Builder中,你可以从面板中拖放不同的布局管理器,因此为什么不在GUI Builder中。瞧,经过数小时的搜索,我从容器组件的上下文菜单中找到了神奇的Set Layout。现在,我准备统治世界!

我想自己投入了一些教程,介绍如何使用GUI Builder中的不同布局管理器,因此在这里,这样其他人就不会秃头扯皮,试图弄清楚自己一直在想什么。在完成下面的第一篇教程之后,CardLayout我准备发表自己的努力并键入“ 问题”页面的标题“如何在Netbeans GUI Builder中使用CardLayout”。什么…!。关于这个话题已经有一些问题了!我想我应该使我的Google查询更加精确。哦!

无论如何,我现在有了本教程,它仍然比其他答案中提供的内容更具信息性,因此我的工作不会白费(所以我告诉自己:D)。也许我会做一系列这样的练习。我们拭目以待。现在,享受如何使用CardLayout:P


阅读 483

收藏
2020-03-09

共1个答案

一尘不染

如何使用CardLayout
1. 使用新JFrame表单,在表单中添加一个JPanel,JButtons使其看起来像这样

你的导航器窗格应如下所示。注意,我更改了变量名称。你可以通过在导航器中右键单击该组件并选择更改变量名称来实现。

  1. 现在,我们自身的布局mainPanel来CardLayout。双击mainPanel导航器中的,这样它就可以在设计视图中单独显示。然后在导航器中右键单击它,然后选择Set Layout-> CardLayout。你的导航器现在应如下所示

  2. 现在,我们要添加不同JPanels的mainPanel。只需mainPanel在导航器中右键单击,然后选择从面板添加-> Swing容器-> JPanel。重复三遍,这样就可以得到三种不同的结果JPanels。我还更改了它们的变量名。你的导航器不应看起来像这样。

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

我们还想更改作为CardLayout参考的面板名称。我们可以通过双击面板(panelOne)之一并转到属性窗格来做到这一点。在底部,你将看到一个属性Card Name。我使用过,只需将其更改为你想要的任何内容即可panelOne。为其他两个做JPanel

注意:你可以随时更改布局位置,例如你要panelTwo最初显示的布局位置panelOne。只需右键单击mainPanel并选择更改订单。你可以在订单上上下移动面板。

  1. 我们快完成了。我们只需要将监听器添加到按钮即可在中的面板之间切换CardLayout。因此,双击导航器中的框架。你现在应该看到按钮。右键单击Panel One按钮。然后选择Events -> Action -> actionPerformed。你应该在源代码视图中看到自动生成的代码。添加这段代码
private void jbtPanelOneActionPerformed(ActionEvent evt) {                                            
    CardLayout card = (CardLayout)mainPanel.getLayout();
    card.show(mainPanel, "panelOne");
} 

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

2020-03-09