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(卡片布局)