Swing005——卡片布局

Posted 江州益彤

tags:

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

一、API简介



二、实例

2.1、显示指定卡片内容

package com.Card;

import java.awt.CardLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class TestCardLayout 
	public static void main(String[] args) 
		// 1、创建一个顶层容器
		JFrame jFrame = new JFrame("卡片布局");
		// 设置大小
		jFrame.setSize(500, 400);
		// 设置位置
		jFrame.setLocationRelativeTo(null);
		// 设置关闭时推出虚拟机JVM
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// 创建卡片布局管理器,水平和竖直间隙为10
		final CardLayout cardLayout = new CardLayout(10, 10);

		// 创建一个面板容器,指定布局管理器为卡片式
		final JPanel jPanel = new JPanel(cardLayout);

		// 创建一个按钮
		JButton jButton1 = new JButton("按钮1");
		JButton jButton2 = new JButton("按钮2");
		JButton jButton3 = new JButton("按钮3");

		// 添加到卡片布局的面板中
		jPanel.add(jButton1, "jButton1");
		jPanel.add(jButton2, "jButton2");
		jPanel.add(jButton3, "jButton3");

		// 显示指定的
		cardLayout.show(jPanel, "jButton2");

		// 将大盒子添加到面板中
		jFrame.setContentPane(jPanel);

		// 显示窗口
		jFrame.setVisible(true);

	



2.2、使用线程自动循环显示每一张卡片

package com.Card;

import java.awt.CardLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class TestCardLayout 
	public static void main(String[] args) 
		// 1、创建一个顶层容器
		JFrame jFrame = new JFrame("卡片布局");
		// 设置大小
		jFrame.setSize(500, 400);
		// 设置位置
		jFrame.setLocationRelativeTo(null);
		// 设置关闭时推出虚拟机JVM
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// 创建卡片布局管理器,水平和竖直间隙为10
		final CardLayout cardLayout = new CardLayout(10, 10);

		// 创建一个面板容器,指定布局管理器为卡片式
		final JPanel jPanel = new JPanel(cardLayout);

		// 创建一个按钮
		JButton jButton1 = new JButton("按钮1");
		JButton jButton2 = new JButton("按钮2");
		JButton jButton3 = new JButton("按钮3");

		// 添加到卡片布局的面板中
		jPanel.add(jButton1, "jButton1");
		jPanel.add(jButton2, "jButton2");
		jPanel.add(jButton3, "jButton3");

		// 显示指定的
		new Thread() 
			public void run() 
				while (true) 
					try 
						Thread.sleep(1000);
					 catch (InterruptedException e) 
						e.printStackTrace();
					
					cardLayout.next(jPanel);
				
			
		.start();

		// 将大盒子添加到面板中
		jFrame.setContentPane(jPanel);

		// 显示窗口
		jFrame.setVisible(true);
	


以上是关于Swing005——卡片布局的主要内容,如果未能解决你的问题,请参考以下文章

JAVA Swing - 另一个卡片面板上的卡片面板上的选项卡式面板 setSelectedIndex()

java中常用的swing组件 (2013-10-27-163 写的日志迁移

引导清除修复不起作用。布局镀铬中的孔

在 java swing 组件上绘制边框

在创建视图的片段期间为项目列表中的每个项目设置图像[重复]

[javaSE] GUI(图形用户界面)