Pau*_*tha 20 java swing netbeans layout-manager cardlayout
前言(这是一个自我答复的帖子)
我已经厌倦了Netbeans GUI Builder,但我只是没有开始深入了解它以了解更复杂的细节.我真的甚至不知道从设计视图更改布局管理器,我只是手工编写它.因此,我尝试通过询问"如何在Netbeans GUI Builder中使用不同的布局管理器"来询问Google服务台,并在结果的前几页中惊奇地发现了zilch.在Eclipse Window Builder中,您可以从调色板中拖放不同的布局管理器,为什么不在GUI Builder中.瞧,经过几个小时的搜索,我从容器组件的上下文菜单中找到了神奇的Set Layout.现在我准备好统治世界了!
我想我会介绍一些关于如何使用GUI Builder中不同布局管理器的教程,这里也是如此,所以其他人不会秃顶撕裂他们的头发试图找出我自己一直在想的东西.在完成第一个教程CardLayout(下面)后,我准备发布我的努力并输入Ask Question页面的标题,"如何使用Netbeans GUI Builder使用CardLayout".什么...... !! .关于这个话题已经有一些问题!! 我想我应该让我的Google查询更精确.DOHH!
无论如何,我现在有了这个教程,它比其他答案中提供的信息更有用,所以我的努力不会浪费(所以我告诉自己:D).也许我会制作一系列这些东西.走着瞧.现在,享受如何使用CardLayout:P
Pau*_*tha 63
使用新JFrame表单,在表单中添加JPanel一些JButtons,使其看起来像这样

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

现在,我们自身的布局mainPanel来CardLayout.双击mainPanel导航器中的内容,使其在设计视图中自行显示.然后在导航器中右键单击它并选择Set Layout - > CardLayout.您的导航器现在应该是这样的

现在我们要添加不同JPanels的mainPanel.只需右键单击mainPanel导航器中的,然后选择Add from Palette - > Swing Containers - > JPanel.这样做三次让你有三种不同JPanels.我也改变了他们的变量名.你的导航器不应该是这样的.

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

我们还想更改作为CardLayout参考给出的面板的名称.我们可以通过双击其中一个面板(panelOne)并转到属性窗格来实现.在底部,你会看到一个属性Card Name.我把它改成你想要的任何东西panelOne.为另外两个做那个JPanel

注意:您可以随时更改布局位置,例如您panelTwo最初要显示的位置,而不是panelOne.只需右键单击mainPanel并选择更改订单.您可以在订单上向上或向下移动面板.
我们差不多完成了.我们只需要将按钮添加到按钮即可在面板之间切换CardLayout.所以双击导航器中的框架.你现在应该看到按钮.右键单击Panel One按钮.并选择Events -> Action -> actionPerformed.您应该在源代码视图中看到自动生成的代码.添加这段代码
private void jbtPanelOneActionPerformed(ActionEvent evt) {
CardLayout card = (CardLayout)mainPanel.getLayout();
card.show(mainPanel, "panelOne");
}
Run Code Online (Sandbox Code Playgroud)
对其他两个按钮执行此操作,确保将相应面板的正确名称传递给show方法.
如果您已按照上述5个步骤操作,则程序应按如下方式运行.

mainPanel如果您还想使用其他类,也可以将其他类JPanel表单类拖放到您的上面.对于更大的非平凡案例,这可能是一种优选的方法,以避免大规模的类.

| 归档时间: |
|
| 查看次数: |
24062 次 |
| 最近记录: |