/**
* 卡片布局管理器
*
* @time 9:49:57 AM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_CardLayuot extends Frame {
private static final long serialVersionUID = 1L;
// 命令面板
Panel pnlCommandArea = new Panel();
// 显示面板
Panel pnlDisplayArea = new Panel();
// 显示面板布局
CardLayout cardLayout = new CardLayout();
//
Button btnFirst = new Button("第一个");
Button btnPrevious = new Button("上一个");
Button btnNext = new Button("下一个");
Button btnLast = new Button("最后一个");
/**
* 构造器
*/
@SuppressWarnings("unused")
public Test_CardLayuot() {
btnFirst.setBackground(Color.white);
btnPrevious.setBackground(Color.white);
btnNext.setBackground(Color.white);
btnLast.setBackground(Color.white);
this.setLayout(new BorderLayout());
// 添加两个布局
this.add(pnlCommandArea, BorderLayout.NORTH);
this.add(pnlDisplayArea, BorderLayout.CENTER);
// 显示面板添加布局
pnlDisplayArea.setLayout(cardLayout);
// 四个显示面板
Panel firstPanel = new Panel();
// 背景色
firstPanel.setBackground(Color.yellow);
// 前景色
firstPanel.setForeground(Color.blue);
pnlDisplayArea.add("first", firstPanel);
firstPanel.add(new Label("这是第一张卡片"));
Panel secondPanel = new Panel();
secondPanel.setBackground(Color.pink);
secondPanel.setForeground(Color.blue);
pnlDisplayArea.add("first", secondPanel);
secondPanel.add(new Label("这是第二张卡片"));
Panel thirdPanel = new Panel();
thirdPanel.setBackground(Color.orange);
thirdPanel.setForeground(Color.blue);
pnlDisplayArea.add("first", thirdPanel);
thirdPanel.add(new Label("这是第三张卡片"));
Panel fourthPanel = new Panel();
fourthPanel.setBackground(Color.green);
fourthPanel.setForeground(Color.blue);
pnlDisplayArea.add("first", fourthPanel);
fourthPanel.add(new Label("这是第四张卡片"));
// 按钮添加监听
btnFirst.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
processAction(e);
}
});
btnPrevious.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
processAction(e);
}
});
btnNext.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
processAction(e);
}
});
btnLast.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
processAction(e);
}
});
// 按钮添加以面板
pnlCommandArea.add(btnFirst);
pnlCommandArea.add(btnPrevious);
pnlCommandArea.add(btnNext);
pnlCommandArea.add(btnLast);
}
@SuppressWarnings("deprecation")
public static void main(String[] args) {
Test_CardLayuot cardLayuot = new Test_CardLayuot();
cardLayuot.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
// 自适应控件大小
cardLayuot.pack();
cardLayuot.show();
}
/**
* 默认大小
*/
public Dimension getPreferredSize() {
return new Dimension(300, 300);
}
/**
* 单击后执行方法
*/
private void processAction(ActionEvent e) {
Button btnEvent = (Button) e.getSource();
if (btnEvent.equals(btnFirst)) {
cardLayout.first(pnlDisplayArea);
} else if (btnEvent.equals(btnLast)) {
cardLayout.last(pnlDisplayArea);
} else if (btnEvent.equals(btnPrevious)) {
cardLayout.previous(pnlDisplayArea);
} else if (btnEvent.equals(btnNext)) {
cardLayout.next(pnlDisplayArea);
}
}
}
分享到:
相关推荐
主要介绍了Java Swing CardLayout卡片布局的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
定义CardLayout布局管理器 当按钮被点击时,实现显示下一张卡片的功能
QT5实现的卡片布局,基于QLayout的CardStackLayout,实现动画效果。
NULL 博文链接:https://alog2012.iteye.com/blog/1613294
BorderLayout——边界布局管理器:FlowLayout——流式布局管理器:GridLayout——网格布局:CardLayout——卡片式布局:...
Java布局管理的好例子,包括GridLayOut BorderLayOut CardLayOut等布局管理的实现
Java中CardLayout布局管理器.pdf 学习资料 复习资料 教学资源
使用Swing的CardLayout布局方式 实现的上一步、下一步的对话框 交互中经常使用到
主要为大家详细介绍了java布局管理之CardLayout的简单实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Netbeans 卡片式窗口实例(CardLayout)
卡片布局,支持水平、垂直滚动。 亲! 喜欢的话请到github上给个star吧 https://github.com/Pr-Chen/CardLayout-Swift 还有OC版本哦,请访问:https://github.com/Pr-Chen/CardLayout-OC 用法简单: let ...
布局管理器
CardLayout 是 Java Swing 库提供的一种布局管理器,用于在容器中管理多个组件的可见性,并允许用户在它们之间切换。 CardLayout 可以在一个容器中显示多个组件,但只有其中一个组件是可见的。通过切换可见组件,在...
卡片布局的基本设计!包含实验的4个程序 还有计算器的界面设计!
java2图形设计卷2_swing..zip java2图形设计卷2_swing..zip
图形化轻量级框架开发,当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理。...下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。
在每个卡片上放一个按钮,然后点击按钮换卡片
毕设项目,基于SSM框架的自动组卷与考试系统系统;技术:SSM,Java,MySQL,Tomcat,Bootstrap,Ajax。角色:管理员,教师,学生。教师发布试卷和查看成绩,学生参加考试和查看成绩,管理员:账号管理。
5.容器与布局管理(卡片式布局CardLayout)。 6.容器与布局管理(网格块布局GridBagLayout)。7.标准GUI组件(文本框与文本域)。 8.标准GUI组件(复选按钮)。9.标准GUI组件(单选按钮)。10.标准GUI组件(下拉...