您的位置:首页 > 产品设计 > UI/UE

JAVA GUI之CardLayout

2016-03-31 13:03 1016 查看




package refNet;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class CardLayoutTest extends JFrame implements ActionListener {

private static final long serialVersionUID = 1L;
JButton b0, b1, b2, b3;
Panel cardPanel = new Panel();
Panel controlpaPanel = new Panel();

// 定义卡片布局对象
CardLayout card = new CardLayout();

// 定义字符数组,为卡片命名
String cardName[] = { "card0", "card1", "card2", "card3" };

// 定义构造函数

public CardLayoutTest() {
super("卡片布局管理器");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

// 设置cardPanel面板对象为卡片布局
cardPanel.setLayout(card);

// 循环,在cardPanel面板对象中添加4个按钮
// 因为cardPanel面板对象为卡片布局,因此初始时显示最先添加的组件
for (int i = 0; i < 4; i++) {
// 面板中添加的每个按钮对应设置一个卡片名
cardPanel.add(cardName[i], new JButton("卡片中按钮" + i));
}

// 实例化【切换按钮】对象
b0 = new JButton("0");
b1 = new JButton("1");
b2 = new JButton("2");
b3 = new JButton("3");

// 为按钮对象注册监听器
b0.addActionListener(this);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);

controlpaPanel.add(b0);
controlpaPanel.add(b1);
controlpaPanel.add(b2);
controlpaPanel.add(b3);

// 定义容器对象为当前窗体容器对象
Container container = getContentPane();

// 将 cardPanel面板放置在窗口边界布局的中间,窗口默认为边界布局
container.add(cardPanel, BorderLayout.CENTER);

// 将controlpaPanel面板放置在窗口边界布局的南边,
container.add(controlpaPanel, BorderLayout.SOUTH);

}

@Override
public void actionPerformed(ActionEvent e) {
// 用户单击b0按钮时执行的语句

if (e.getSource() == b0) {
//  show():翻转到使用 addLayoutComponent 添加到此布局的具有指定 name 的组件。
card.show(cardPanel, cardName[0]);
}

if (e.getSource() == b1) {
card.show(cardPanel, cardName[1]);
}

if (e.getSource() == b2) {
card.show(cardPanel, cardName[2]);
}

if (e.getSource() == b3) {
card.show(cardPanel, cardName[3]);
}
}

public static void main(String[] args) {

CardLayoutTest kapian = new CardLayoutTest();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: