import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container; import javax.swing.JButton;
import javax.swing.JFrame; public class CardLayoutDemo {
public static void main(String[] args) {
//新建一个JFrame框架
JFrame frame = new JFrame("CardLayout");
frame.setSize(600, 400);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); final Container cp = frame.getContentPane();//得到一个内容面板;final标记的为常量,只能赋值一次
final CardLayout cardlayout = new CardLayout();//因为后期会对layout进行操作,才将其单独定义出来
cp.setLayout(cardlayout);//cp.setLayout(new CardLayout())的方式不可行,会出现异常
Color[] colors = { Color.white, Color.GRAY, Color.PINK, Color.cyan }; for (int i = 0; i < colors.length; i++) {
String name = "card" + String.valueOf(i + 1);
JButton button = new JButton(name);
button.setBackground(colors[i]);
cp.add(name, button);
} frame.setVisible(true);
/**
* 要点是创建线程时,要重写Thread类中的run方法
*/
Thread thread = new Thread() {
public void run() {
while (true) {
try {
Thread.sleep(400);
} catch (InterruptedException e) {
e.printStackTrace();
}
/**
* cardLayout的next是另外一个内容面板
*/
cardlayout.next(cp);
}
}
};
thread.start();//启动线程
}
}

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

  1. JAVA中GridBagLayout布局管理器应用详解

    很多情况下,我们已经不需要通过编写代码来实现一个应用程序的图形界面,而是通过强大的IDE工具通过拖拽辅以简单的事件处理代码即可很轻松的完成.但是我们不得不面对这样操作存在的一些问题,有时候我们希望能够 ...

  2. Java中用户界面布局

    绝对布局Absolute 通过放大或缩小界面的时候,组件大小和位置不会发生变化 浮动布局FlowLayout 调整应用程序窗口的大小时,组件将立刻重新排列 边界布局Border Layout 该位置有 ...

  3. Java中遍历HashMap方式

    本教程将为你展示Java中HashMap的几种典型遍历方式. 如果你使用Java8,由于该版本JDK支持lambda表达式,可以采用第5种方式来遍历. 如果你想使用泛型,可以参考方法3.如果你使用旧版 ...

  4. Java中动态代理方式:

    JDK中生成代理对象的API 代理类所在包:java.lang.reflect.ProxyJDK实现代理只需要使用newProxyInstance方法,但是该方法需要接收三个参数,完整的写法是: st ...

  5. java中创建对象的方式

    Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码 使用new关键字 } → 调用了构造函数 使用Class类的newInstance方法 } → 调用了构造函数 使用Construc ...

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

    package get_class_method; public class ReflectDemo { /** * @param args */ public static void main(St ...

  7. java中转换json方式(JSONArray,JSONObject),json解析

    package com.yunos.tv.video.resource.controller.web; import java.util.ArrayList; import java.util.Has ...

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

    在CSS中关于定位的内容是: position:relative | absolute | static | fixed     static(静态) 没有特别的设定,遵循基本的定位规定,不能通过z- ...

  9. Java中读取输入方式的性能比较

    程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这 ...

随机推荐

  1. 移动端判断ios还是android终端

    <script> //判断ios还是android终端       var u = navigator.userAgent;       var isAndroid = u.indexOf ...

  2. Confluence 6 查看一个任务的执行历史

    希望查看一个计划任务最后运行的时间和这个计划任务最后一次运行花费了多长时间.单击计划任务边上的 历史(History )连接. 如果一个计划任务从来没有运行的胡啊,那么这个历史的链接是不会显示的. 屏 ...

  3. ios集成极光推送:Undefined symbols for architecture arm64: "_dns_parse_resource_record", referenced from:?

    添加libresolv.tbd库,即可解决问题 Undefined symbols for architecture arm64: "_dns_parse_resource_record&q ...

  4. MySql在windows上的安装

    知乎安装教程 csdn安装教程 一.官网下载 ZIP Archive 内的软件包,mysql-xxx-win64.zip. 二.新建 MySQL 文件夹,解压缩下载包,进入文件夹(mysql-8.0. ...

  5. tensorflow(4):神经网络框架总结

    #总结神经网络框架 #1,搭建网络设计结构(前向传播) 文件forward.py def forward(x,regularizer): # 输入x 和正则化权重 w= b= y= return y ...

  6. cut sticks

    问题 : cut sticks 时间限制: 1 Sec  内存限制: 128 MB 题目描述 George took sticks of the same length and cut them ra ...

  7. C语言将字符串转json

    示例代码: #include <stdio.h> #include <string.h> #include <stdlib.h> char *strrpc(char ...

  8. Altium Designer (17.0) 打印输出指定的层

    Altium Designer (17.0) 例如,打印输出Top Overlay,Keep-Out Layer 1.先选择PCB文件,在单击按键Print Preview... 2.在预览区单击鼠标 ...

  9. ajax对象方法的使用

    change.js文件的内容对象函数关键字:fnjQuery.fn.change = function () { this.css({"background": "red ...

  10. 调试阶段 获取微信小程序openid

    wx.login({ success: function(res) { //首先获取用户code //res.code wx.request({ url: 'https://api.weixin.qq ...