Java学习 - GUI设计中如何在一个窗口下进行多个面板的切换

Java学习 - GUI设计中如何在一个窗口下进行多个面板的切换

一种实现方式是,设定JFrame实例的contentPane的布局为CardLayout,然后向contentPane中加入不同的JPanel.

结构框架如图

image-20201202150737494

注意要将CardLayout定义成JFrame的一个成员,方便后期调用

image-20201202151142399

此时,每一个面板都是contentPane的一个组件,由于contentPane是CardLayout,我们可以用CardLayout自带的方法来切换卡片,访问不同的面板.

在代码区,创建每个面板的时候,我们应该给各个面板设定不同的卡片名称,如图

image-20201202150953071

这样写,方便我们调用卡片布局的show()方法,指定卡片名访问某一张卡片,这种方法比使用next(),previous()更灵活.

假如需要从一个面板切换到另一个面板,只需要如下图写法:

例如,我们将注册界面的卡片名记作"SignUpCard",现在在SignIn界面点击了SignUpButton,要实现切换面板到SignUp界面,只需要为按钮添加监视,在实现接口的时候调用Layout布局管理器的show()方法.

image-20201202151340143

posted @ 2020-12-02 15:16  popozyl  阅读(1692)  评论(0编辑  收藏  举报