博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CardLayout使用
阅读量:4554 次
发布时间:2019-06-08

本文共 963 字,大约阅读时间需要 3 分钟。

相对于BoxLayout,GridBugLayut等常用的Swing layout,CardLayout是特殊的,前者是一个容器内布置组件,而后者是在一个容器内放置很多页面(但一个时间只用显示一个)。

比如需要制作Step by Step的桌面程序,使用CardLayout就非常方便快捷。下面用代码说明:

JPanel innerPanel=new JPanel(new CardLayout());// 对容器innerPanel设置为CardLayout// 用于初始化页面和显示页面的一些字符串常量private static final String WELCOME="welcome"; private static final String URL="url"; private static final String COUNT="count";// 把欢迎页加入innerPanel,WelcomePage继承自JPanel,下类同welcomePage=new WelcomePage("/welcome.jpg");innerPanel.add(welcomePage,WELCOME);// 把地址页加入innerPanelurlPage=new UrlPage();innerPanel.add(urlPage,URL);// 把数目页加入innerPanelcountPage=new CountPage();innerPanel.add(countPage,COUNT);需要显示某个页面的话可以用下面的函数,pageName取值就是前面定义的"welcome","url","count"等。// 显示一个页面public void showPage(String pageName){        CardLayout c=(CardLayout)(innerPanel.getLayout());        c.show(innerPanel, pageName);}

每当一个页面被显示出来,其它页面就被遮挡了。要是不采用CardLayout而自己编码,要多花些工夫.

转载于:https://www.cnblogs.com/xiandedanteng/p/3704093.html

你可能感兴趣的文章
关于Java中重载的若干问题
查看>>
Java中start和run方法的区别
查看>>
23种设计模式中的命令模式
查看>>
[转载]年薪10w和年薪100w的人,差在哪里?
查看>>
shell 日期参数
查看>>
package的使用
查看>>
括号生成
查看>>
优秀的前端需要做到什么?
查看>>
aws cli command line interface的安装与使用
查看>>
10)将地址换成常量
查看>>
cocos2d-x3.0 解释具体的新的物理引擎setCategoryBitmask()、setContactTestBitmask()、setCollisionBitmask()...
查看>>
Cocos2d-x
查看>>
FIR滤波器设计
查看>>
1005 继续(3n+1)猜想 (25 分)
查看>>
【Uva 1252】Twenty Questions
查看>>
1_访问命令行
查看>>
File操作相关
查看>>
Linux:文本处理工具
查看>>
java,for穷举,经典题目,百鸡百钱
查看>>
mysql提示Column count doesn't match value count at row 1错误
查看>>