`

CardLayout卡片布局(切换到指定卡片演示)

阅读更多
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class CardLayoutChange implements ActionListener {

	JPanel p1, p2, p3, p4;
	int i = 1;
	JFrame f;

	public CardLayoutChange() {

		f = new JFrame();
		Container contentPane = f.getContentPane();
		contentPane.setLayout(new GridLayout(2, 1));

		p1 = new JPanel();
		JButton b = new JButton("Change  Card");
		b.addActionListener(this);
		p1.add(b);
		contentPane.add(p1);

		p2 = new JPanel();
		p2.setLayout(new FlowLayout());
		p2.add(new JButton("first"));
		p2.add(new JButton("second"));
		p2.add(new JButton("third"));
		p3 = new JPanel();
		p3.setLayout(new GridLayout(3, 1));
		p3.add(new JButton("fourth"));
		p3.add(new JButton("fifth"));
		p3.add(new JButton("This  is  the  last  button"));
		p4 = new JPanel();
		p4.setLayout(new CardLayout());
		p4.add("one", p2);
		p4.add("two", p3);
		((CardLayout) p4.getLayout()).show(p4, "one");

		contentPane.add(p4);

		f.setTitle("CardLayout");
		f.pack();
		f.setVisible(true);

		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
	}

	public void actionPerformed(ActionEvent event) {
		switch (i) {
		case 1:
			((CardLayout) p4.getLayout()).show(p4, "two");
			break;
		case 2:
			((CardLayout) p4.getLayout()).show(p4, "one");
			break;
		}
		i++;
		if (i == 3)
			i = 1;
		f.validate();
	}

	public static void main(String args[]) {

		new CardLayoutChange();

	}
}

 

分享到:
评论

相关推荐

    Java编程使用卡片布局管理器示例【基于swing组件】

    使用卡片布局管理器需要创建一个CardLayout对象,并将其添加到容器中。然后,可以将多个面板添加到容器中,并使用CardLayout对象来管理这些面板的切换。下面是一个简单的示例代码: ```java Container container = ...

    Java的布局管理器

    3. **添加卡片**:使用`add()`方法将面板添加到使用`CardLayout`的容器,指定面板的ID。 4. **切换卡片**:通过调用`CardLayout.show()`方法,传入容器、要显示的面板ID,实现卡片之间的切换。 5. **计算器界面...

    JAVA布局管理

    当点击“BorderLayout:边界布局例子”按钮时,虽然没有在此处实现具体行为,但通常可以通过`add()`方法将组件添加到指定区域。 3. **GridLayout**: 网格布局将窗口划分为等大的行和列。在示例中,点击...

    布局类(swing)

    5. **CardLayout**:这种布局允许你在同一空间中切换多个组件,就像卡片堆叠一样。你可以向前或向后切换“卡片”。 6. **GridBagLayout**:这是最复杂的布局管理器,提供了最大的灵活性。它使用网格来定位组件,但...

    java_layout_example.rar_ java layo_GUI Layout_java GUI layo_java

    1. **CardLayout**:这种布局管理器允许你在同一区域显示多个组件,就像一副卡片,每次只能显示一张。`CardLayoutDemo.class`演示了如何切换不同组件,常用于实现选项卡式界面。 2. **GridBagLayout**:这是最灵活...

    swing layout-demo

    5. ** CardLayout **:允许在一个容器中切换不同的面板,就像卡片堆叠在一起一样。 6. ** GroupLayout **:为复杂的界面设计提供了一种更灵活的布局方式。 7. ** GridBagLayout **:最灵活的布局管理器,允许自定义...

    Java Swing - 常识篇 之 LayoutManager 03

    4. CardLayout:允许在一个容器中按卡片堆叠多个布局,通过调用方法切换显示不同的“卡片”。 5. GridBagLayout:这是一种非常灵活的布局管理器,通过GridBagConstraints对象可以精确地控制组件的位置和大小,适合...

    基于Java的实例开发源码-SwingSet.zip

    2. **布局管理器**:Swing支持多种布局管理器,如FlowLayout(流式布局)、BorderLayout(边界布局)、GridLayout(网格布局)、BoxLayout(盒式布局)和CardLayout(卡片布局)。SwingSet中,你会看到这些布局管理...

    Java-Layout-Manager:包含和操作各种 Java 布局

    5. **CardLayout**: 提供了一种在多个视图之间切换的方式,就像卡片堆叠一样。每个视图都是一个面板,可以通过`show()`方法在它们之间切换。`CardLayoutByRonald.java`应该是一个示例程序,演示如何使用`CardLayout`...

    2021-2022计算机二级等级考试试题及答案No.12705.docx

    因为BorderLayout会将组件固定在边界位置,CardLayout会切换不同的卡片布局,而GridLayout则会将容器划分为网格。 ### 4. Java字符串比较 - **知识点概述**:在Java中,字符串可以通过`.equals()`方法进行内容比较...

    Eventnlayoutn

    - **CardLayout**允许在单一的容器内切换多个组件,就像卡片堆叠在一起,每次只显示一张。 - **GroupLayout**则提供更复杂和灵活的布局控制,可以创建复杂的布局结构。 为了改变组件的布局,可以使用`setLayout()`...

    extjs实践大量实例讲解

    这个例子展示了如何使用卡片布局来实现页面间的切换效果。通过按钮触发不同的逻辑,可以实现在不同面板之间的切换。 ### 示例 5:使用树形视图进行数据展示 ```javascript Ext.create('Ext.tree.Panel', { title:...

    2021-2022计算机二级等级考试试题及答案No.11269.docx

    - **描述**:CardLayout 布局管理器将界面看做一系列卡片,在任何时候只有其中一张卡片是可见的。 - **解析**:此描述是正确的。CardLayout 是一种特殊的布局管理器,常用于 Java Swing 应用程序中。它允许将界面...

    Think in Java(中文版)chm格式

    13.19.15 卡片式对话框 13.19.16 Swing消息框 13.19.17 Swing更多的知识 13.20 总结 13.21 练习 第14章 多线程 14.1 反应灵敏的用户界面 14.1.1 从线程继承 14.1.2 针对用户界面的多线程 14.1.3 用主类...

    JAVA_Thinking in Java

    13.19.15 卡片式对话框 13.19.16 Swing消息框 13.19.17 Swing更多的知识 13.20 总结 13.21 练习 第14章 多线程 14.1 反应灵敏的用户界面 14.1.1 从线程继承 14.1.2 针对用户界面的多线程 14.1.3 用主类合并线程 ...

    Java初学者入门教学

    13.19.15 卡片式对话框 13.19.16 Swing消息框 13.19.17 Swing更多的知识 13.20 总结 13.21 练习 第14章 多线程 14.1 反应灵敏的用户界面 14.1.1 从线程继承 14.1.2 针对用户界面的多线程 14.1.3 用主类合并线程 ...

    ThinkInJava

    13.19.15 卡片式对话框 13.19.16 Swing消息框 13.19.17 Swing更多的知识 13.20 总结 13.21 练习 第14章 多线程 14.1 反应灵敏的用户界面 14.1.1 从线程继承 14.1.2 针对用户界面的多线程 14.1.3 用主类合并线程 ...

    java 编程入门思考

    13.19.15 卡片式对话框 13.19.16 Swing消息框 13.19.17 Swing更多的知识 13.20 总结 13.21 练习 第14章 多线程 14.1 反应灵敏的用户界面 14.1.1 从线程继承 14.1.2 针对用户界面的多线程 14.1.3 用主类合并线程 ...

    thinkinjava

    13.19.15 卡片式对话框 13.19.16 Swing消息框 13.19.17 Swing更多的知识 13.20 总结 13.21 练习 第14章 多线程 14.1 反应灵敏的用户界面 14.1.1 从线程继承 14.1.2 针对用户界面的多线程 14.1.3 用主类合并线程 ...

    Thinking in Java简体中文(全)

    13.19.15 卡片式对话框 13.19.16 Swing消息框 13.19.17 Swing更多的知识 13.20 总结 13.21 练习 第14章 多线程 14.1 反应灵敏的用户界面 14.1.1 从线程继承 14.1.2 针对用户界面的多线程 14.1.3 用主类合并线程 ...

Global site tag (gtag.js) - Google Analytics