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 }

原文地址:https://www.cnblogs.com/LJHAHA/p/10211082.html

时间: 2024-09-28 23:41:11

Java中CardLayout布局方式的应用的相关文章

Java中用户界面布局

绝对布局Absolute 通过放大或缩小界面的时候,组件大小和位置不会发生变化 浮动布局FlowLayout 调整应用程序窗口的大小时,组件将立刻重新排列 边界布局Border Layout 该位置有5个方位:东.南.西.北.中 网格布局Grid Layout 如需要将大量组件按规律排列,那么网格布局是最合适的,比如计算器界面的制作. CardLayout     卡片布局和其他布局不同,因为它隐藏了一些组件.卡片布局就是一组容器或者组件,它们一次仅仅显是一个,组中的每个容器称为卡片.   分组

Java中CardLayout的使用

[例1]代码: 1 import java.awt.CardLayout; 2 import java.awt.GridLayout; 3 import java.awt.event.ActionEvent; 4 import java.awt.event.ActionListener; 5 import java.awt.event.WindowAdapter; 6 import java.awt.event.WindowEvent; 7 8 import javax.swing.JButto

Java中动态代理方式:

JDK中生成代理对象的API 代理类所在包:java.lang.reflect.ProxyJDK实现代理只需要使用newProxyInstance方法,但是该方法需要接收三个参数,完整的写法是: static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces,InvocationHandler h ) 注意该方法是在Proxy类中是静态方法,且接收的三个参数依次为: ClassLoader loader,:指定当

Java中内存分配方式

摘自 Think in java 1.寄存器 这是最快的存储区,它位于处理器的内部,不能人为控制. 2.堆栈     位于RAM,但可以通过堆栈指针从处理器那里获取直接支持.堆栈指针向下移动,就分配新的内存,向上移动,则释放那些内存.这种方式分配内存快速有效,仅次于寄存器. 所以java必须知道存储在堆栈内所有对象的确切生命周期.对象引用 和 基本数据类型会放到堆栈中. 3.堆         一种通过的内存池,也位于RAM.用于存放所有的java对象.堆和堆栈的区别就在于编译器不需要知道数据在

java中三种方式获得类的字节码文件对象

package get_class_method; public class ReflectDemo { /** * @param args */ public static void main(String[] args) { getClassObject1(); getClassObject2(); getClassObject3(); } public static void getClassObject1(){ Person p = new Person(); System.out.pr

HTML中的布局方式:absolute、relative、fixed、static

在CSS中关于定位的内容是: position:relative | absolute | static | fixed     static(静态) 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级,这是默认值.    relative(相对定位) 对象不可层叠.不脱离文档流,参考自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级.    absolute(绝对定位) 脱离文档流,通过 top,bottom,left

Java中的输入方式

1.从键盘读取char类型数据 char ch = (char)System.in.read(); System.in 提供的 read() 方法每次只能读取一个字节的数据,所以用的频率比较低. 2.BufferedReader 实现从键盘读取String类型数据 使用BufferedReader 对象的 readLine() 方法必须处理 java.io.IOException 异常(Exception): 当输入的内容中包括空格时,使用 Scanner 就不能完整获得输入的字符串,这时候可以

java中跳出循环的方式

continue:跳出本次循环,继续下一次循环,也就是不执行本次循环continue下面的语句. 例如:"will you"不会被打印 for(int i = 0; i< 830; i++){ if(i == 520){ System.out.println("first meeting"); continue; } System.out.println("will you"); } break:跳出本层循环,也就是这个循环体的结束. 例如

关于java中 get提交方式的乱码问题

这个原因是服务器导致的,服务器比如tomcat接收get方法默认使用的是ISO-8859-1编码,而浏览器发送时文字编码是和页面编码保持一致的,如果页面是使用utf-8 编码 get方法文字自然是使用utf-8编码,但接收服务器没有设置的情况下用了ISO-8859-1编码接收,中文自然就成乱码了,不过由于ISO-8859-1编码是单字节编码所以我们可以使用getBytes("ISO-8859-1"),"utf-8"这样把文字重新转换成utf-8 编码. 第一个发送的