如何使用CardLayout
1. 使用新Jframe表单,在表单中添加一个JPanel,JButtons使其看起来像这样
你的导航器窗格应如下所示。注意,我更改了变量名称。你可以通过在导航器中右键单击该组件并选择更改变量名称来实现。
现在,我们自身的布局mainPanel来CardLayout。双击mainPanel导航器中的,这样它就可以在设计视图中单独显示。然后在导航器中右键单击它,然后选择Set Layout-> CardLayout。你的导航器现在应如下所示
现在,我们要添加不同JPanels的mainPanel。只需mainPanel在导航器中右键单击,然后选择从面板添加-> Swing容器-> 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");} 对其他两个按钮执行此操作,确保将相应面板的正确名称传递给show方法。



