Java中CardLayout布局方式的应用

Posted 进击的巨人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中CardLayout布局方式的应用相关的知识,希望对你有一定的参考价值。

 1 import java.awt.CardLayout;
 2 import java.awt.Color;
 3 import java.awt.Container;
 4 
 5 import javax.swing.JButton;
 6 import javax.swing.JFrame;
 7 
 8 public class CardLayoutDemo {
 9     public static void main(String[] args) {
10         //新建一个JFrame框架
11         JFrame frame = new JFrame("CardLayout");
12         frame.setSize(600, 400);
13         frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
14         
15         final Container cp = frame.getContentPane();//得到一个内容面板;final标记的为常量,只能赋值一次
16         final CardLayout cardlayout = new CardLayout();//因为后期会对layout进行操作,才将其单独定义出来
17         cp.setLayout(cardlayout);//cp.setLayout(new CardLayout())的方式不可行,会出现异常
18         Color[] colors = { Color.white, Color.GRAY, Color.PINK, Color.cyan };
19 
20         for (int i = 0; i < colors.length; i++) {
21             String name = "card" + String.valueOf(i + 1);
22             JButton button = new JButton(name);
23             button.setBackground(colors[i]);
24             cp.add(name, button);
25         }
26 
27         frame.setVisible(true);
28         /**
29          * 要点是创建线程时,要重写Thread类中的run方法
30          */
31         Thread thread = new Thread() {
32             public void run() {
33                 while (true) {
34                     try {
35                         Thread.sleep(400);
36                     } catch (InterruptedException e) {
37                         e.printStackTrace();
38                     }
39                     /**
40                      * cardLayout的next是另外一个内容面板
41                      */
42                     cardlayout.next(cp);
43                 }
44             }
45         };
46         thread.start();//启动线程
47     }
48 }

 

以上是关于Java中CardLayout布局方式的应用的主要内容,如果未能解决你的问题,请参考以下文章

Java AWT 图形界面编程LayoutManager 布局管理器 ⑤ ( CardLayout 卡片布局 | ActionListener 按钮点击事件添加 )

Java图形化界面设计——布局管理器之CardLayout(卡片布局)

三十Java图形化界面设计——布局管理器之CardLayout(卡片布局)

learning java AWT 布局管理器CardLayout

java布局学习

10.4 使用布局管理器3(CardLayout)