⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cardlayouttest.java

📁 《Java程序设计与应用》-张仕斌-源程序 《Java程序设计与应用》-张仕斌-源程序
💻 JAVA
字号:
//CardLayout.java
import java.awt.*;
import javax.swing.*;
import java.util.*;

//因为要实现自动切换,所以使用了多线程
public class CardLayoutTest extends JFrame implements Runnable {
	private CardLayout cl = null; //布局对象
	private Container cp = null;  //当前容器
	private Thread th = null;  //程序运行主线程
	
	public CardLayoutTest() {
		super("CardLayout Test");
		JButton btn = null;
		
		cl = new CardLayout();  //创建布局对象
		cp = this.getContentPane();  //获得当前窗口的容器
		cp.setLayout(cl);       //设置布局方式
		
		//以下分别加入三个按钮,名称和背景各不相同
		btn = new JButton("第一页");
		cp.add("Page1",btn);            //卡片1叫Page1
		
		btn = new JButton("第二页");
		btn.setBackground(Color.cyan);  //青色背景
		cp.add("Page2",btn);            //卡片2叫Page2
		
		btn = new JButton("第三页");
		btn.setBackground(Color.pink);  //品红背景
		cp.add("Page3",btn);            //卡片3叫Page3
	}
	
	//实现了Runnable接口,必须实现该方法
	public void run() {  
		int i = -1;
		while (th != null) { 
			i = (i+1) % 3;         //卡片索引号(0,1,2)
			//显示当前容器cp中指定标签的卡片
			cl.show(cp,"Page" + (i+1));  
			try {
				Thread.sleep(500);    //进程休眠500毫秒
			} catch (InterruptedException e) {
			}
		}
	}
	
	public void start() {    //启动主线程
		th = new Thread(this);
		th.start();
	}
	
	public void stop() {     //停止主线程
		th = null;
	}
	
	public static void main(String[]args) {
		CardLayoutTest clt = new CardLayoutTest();
		clt.setSize(400,200);
		clt.setDefaultCloseOperation(EXIT_ON_CLOSE);
		clt.setVisible(true);
		clt.start();           //启动线程
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -