CardLayout卡片布局(Firsh、Next、Previous、Last功能演示)
来源:互联网 发布:小明看看发布永久域名 编辑:程序博客网 时间:2024/04/25 20:46
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);
}
});
}
}
- CardLayout卡片布局(Firsh、Next、Previous、Last功能演示)
- 卡片布局(CardLayout)
- CardLayout(卡片布局管理器)
- JavaSwing_1.6: CardLayout(卡片布局)
- CardLayout(卡片布局)
- 一个卡片布局(CardLayout)的好例子
- swing学习笔记十一(卡片布局管理器CardLayout )
- 布局管理器之CardLayout(卡片布局管理器)
- 十九、java-GUI之卡片布局(CardLayout)
- Java布局管理器(三)之GridLayout(网格布局管理)和CardLayout( 卡片布局管理)
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 六、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- [转]Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 去掉Eclipse RCP中的多余默认按钮(Next Annotation、Previous Annotation、Last Edit Location)
- 外部程序通过COM启动AutoCAD时RPC_E_CALL_REJECTED的问题解决办法
- 基于schema的spring xml namespace扩展
- Oracle学习笔记-0002
- extern "C"的用法解析
- C# DLL库自动注册的两种方法(调用Regsvr32法、调用DllRegisterServer函数法)
- CardLayout卡片布局(Firsh、Next、Previous、Last功能演示)
- do...while(0)的妙用
- 整理cortex-m3开发相关
- php中time()和mktime()方法的区别
- mysql基本命令
- 如何打包发布基于Qt4 Windows的软件
- SAX解析XML file
- C#代码生成控件动态效果-XAML篇
- CSS也可以修饰Java桌面