`

CardLayout卡片布局(Firsh、Next、Previous、Last功能演示)

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

public class CardDeck extends JFrame implements ActionListener {
	private static final long serialVersionUID = -2827714684185695534L;
	private CardLayout cardManager;
	private JPanel deck;
	private JButton controls[];
	private String names[] = { "First  card", "Next  card", "Previous  card",
			"Last  card" };

	public CardDeck() {
		super("CardLayout  ");

		Container c = getContentPane();

		// create the JPanel with CardLayout
		deck = new JPanel();
		cardManager = new CardLayout();
		deck.setLayout(cardManager);

		// set up card1 and add it to JPanel deck
		JLabel label1 = new JLabel("card  one", SwingConstants.CENTER);
		JPanel card1 = new JPanel();
		card1.add(label1);
		deck.add(card1, label1.getText()); // add card to deck

		// set up card2 and add it to JPanel deck
		JLabel label2 = new JLabel("card  two", SwingConstants.CENTER);
		JPanel card2 = new JPanel();
		card2.setBackground(Color.yellow);
		card2.add(label2);
		deck.add(card2, label2.getText()); // add card to deck

		// set up card3 and add it to JPanel deck
		JLabel label3 = new JLabel("card  three");
		JPanel card3 = new JPanel();
		card3.setLayout(new BorderLayout());
		card3.add(new JButton("North"), BorderLayout.NORTH);
		card3.add(new JButton("West"), BorderLayout.WEST);
		card3.add(new JButton("East"), BorderLayout.EAST);
		card3.add(new JButton("South"), BorderLayout.SOUTH);
		card3.add(label3, BorderLayout.CENTER);
		deck.add(card3, label3.getText()); // add card to deck

		// create and layout buttons that will control deck
		JPanel buttons = new JPanel();
		buttons.setLayout(new GridLayout(2, 2));
		controls = new JButton[names.length];

		for (int i = 0; i < controls.length; i++) {
			controls[i] = new JButton(names[i]);
			controls[i].addActionListener(this);
			buttons.add(controls[i]);
		}

		// add JPanel deck and JPanel buttons to the applet
		c.add(buttons, BorderLayout.WEST);
		c.add(deck, BorderLayout.EAST);

		setSize(450, 200);
		setVisible(true);
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == controls[0])
			cardManager.first(deck); // show first card
		else if (e.getSource() == controls[1])
			cardManager.next(deck); // show next card
		else if (e.getSource() == controls[2])
			cardManager.previous(deck); // show previous card
		else if (e.getSource() == controls[3])
			cardManager.last(deck); // show last card
	}

	public static void main(String args[]) {
		CardDeck cardDeckDemo = new CardDeck();

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

 

分享到:
评论

相关推荐

    Java Swing CardLayout卡片布局的实现示例

    Java Swing CardLayout 卡片布局的实现示例 Java Swing CardLayout 卡片布局是 ...Java Swing CardLayout 卡片布局是一个功能强大且灵活的布局管理器,它可以帮助我们快速实现卡片式的界面,并提供了灵活的布局方式。

    QT5 卡片布局(QLayout)

    在本主题中,我们将深入探讨QT5中的卡片布局(CardLayout),特别是基于QLayout的CardStackLayout,以及如何实现动画效果。 卡片布局(CardLayout)的概念来源于用户界面设计,其中各个界面元素如同卡片一样堆叠在...

    CardLayout布局管理器示例

    在Java Swing库中,`CardLayout`是一种布局管理器,用于在单一容器内管理多个组件,就像一副卡片一样,每次只能展示其中一张。这个布局管理器特别适合于创建选项面板或者切换视图的场景,例如在GUI应用中,用户可以...

    java卡片布局的简单案例

    本文将通过一个简单的Java卡片布局示例来介绍如何使用`CardLayout`以及其基本用法。这个例子将会创建两个面板,每个面板上都有一个图像标签,用户可以通过点击按钮来切换显示不同的面板。 #### 二、核心代码解析 `...

    Netbeans 卡片式窗口实例(CardLayout)

    在GUI设计中,`CardLayout`是一种特殊的布局管理器,它允许在一个容器中显示一组组件,每次只能看到一个,就像一副卡片,用户可以翻动卡片查看不同的内容。本实例将深入探讨如何在NetBeans中使用`CardLayout`来创建...

    Java中CardLayout布局管理器.pdf

    - **显示特定组件**:最后,通过调用CardLayout的方法(如`first()`, `last()`, `next()`, 或 `previous()`)来决定要显示哪个组件。 以下是一个简单的示例,展示了如何使用CardLayout创建一个有三个标签页的程序...

    ios-卡片布局-Swift.zip

    卡片布局,支持水平、垂直滚动。 亲! 喜欢的话请到github上给个star吧 https://github.com/Pr-Chen/CardLayout-Swift 还有OC版本哦,请访问:https://github.com/Pr-Chen/CardLayout-OC 用法简单: let ...

    CardLayout

    在Java Swing库中,`CardLayout`是一种布局管理器,用于组织组件(如JPanel)中的其他组件。这个布局管理器允许你在一个容器内切换不同的组件,就像一副卡片一样,一次只能显示一张卡片,而其他的卡片则被隐藏。在本...

    swing卡片布局

    Swing 卡片布局 在 Java 中,Swing 库提供了多种布局管理器,其中 CardLayout 是一种特殊的布局管理器,它可以在容器中显示多个组件,但每次只显示一个组件。下面我们将通过一个示例程序来了解 CardLayout 的使用。...

    使用Swing的CardLayout布局方式制作上一步下一步的对话框

    此外,还有`first(Container parent)`, `last(Container parent)`, `next(Container parent)`, 和 `previous(Container parent)` 方法,这些方法用于在布局中按照顺序切换组件。 在描述中提到的“上一步、下一步的...

    卡片布局、验证码、弹出菜单案例.zip

    首先,让我们详细探讨一下卡片布局(CardLayout)。卡片布局是Java Swing中的一个布局管理器,它允许在一个容器中管理多个组件,就像一副卡片堆叠在一起一样。每个组件都对应一张卡片,用户可以通过向前或向后翻动来...

    Java布局管理GridLayOut BorderLayOut CardLayOut

    例如,一个应用程序可能使用BorderLayOut作为顶层容器的布局,将菜单栏和工具栏放在边缘,然后在中心使用CardLayOut来切换不同的功能面板,而每个面板内部再使用GridLayOut或其他布局来组织其组件。这样的设计可以...

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

    本文将对Java编程使用卡片布局管理器进行详细的介绍,并提供了一个基于swing组件的实例来演示卡片布局管理器的使用。 一、卡片布局管理器的概念 卡片布局管理器是一个Java中的布局管理器,用于管理多个面板之间的...

    JAVA拆分窗口与卡片布局相结合的经典案例

    本案例通过将卡片布局(CardLayout)与拆分窗口(JSplitPane)结合使用,实现了一个动态切换界面的效果。左侧为操作区域,放置了按钮;右侧为展示区域,采用卡片布局来管理多个界面的显示与隐藏。 #### 技术栈 - Java ...

    卡片布局设计实例

    ### 卡片布局设计实例详解 #### 一、概述 在Java Swing中,`CardLayout`是一种非常实用的布局管理器,它允许在一个容器中放置多个面板(或组件),并且只显示其中一个,其余的面板会被隐藏起来。通过这种方式,用户...

    java布局管理之CardLayout简单实例

    在本实例中,我们将创建一个简单的卡片布局,包含四个按钮和四个面板,每个面板中显示一首诗歌。用户可以通过点击按钮来切换显示的面板。 首先,我们需要引入相关的包,包括 `java.awt.BorderLayout`、`java.awt....

    Java卡片布局管理器解释及实例

    Java卡片布局管理器解释及实例 Java卡片布局管理器是Java语言中的一种布局管理器,用于管理容器中的组件。...通过使用CardLayout类,可以轻松地实现卡片布局管理器,并提供了灵活的布局管理方式。

    布局管理器(一)——CardLayout

    NULL 博文链接:https://alog2012.iteye.com/blog/1613294

    java中JFrame布局

    3. **卡片布局(CardLayout)** 卡片布局允许在一个区域中显示多个组件,但一次只能显示一个。就像卡片堆叠一样,你可以通过调用`next()`或`previous()`方法在不同的组件之间切换。这种布局适用于创建选项卡式界面...

    Java的布局管理器

    描述中提到的"卡片布局的基本设计!包含实验的4个程序",意味着我们有四个示例程序,它们演示了`CardLayout`的用法。这四个程序可能包括了添加卡片、切换卡片以及在特定条件下显示特定卡片等功能的实现。同时,"还有...

Global site tag (gtag.js) - Google Analytics