Card布局管理器能将界面看作一系列的卡片,在任何时候都仅能看到其中的
一个。用add()方法来将卡添加到Card布局中。Card布局管理器的show()
方法将请求转换到一个新卡中。下图就是一个带有5张卡片的框架。
鼠标点击左面板将视图转换到右面板,等等。
用来创建上图框架的代码段如下所示:
import java.awt.*;
import java.awt.event.*;
public class CardExample implements MouseListener {
Panel p1, p2, p3, p4, p5;
Label l1, l2, l3, l4, l5;
private CardLayout myCard;
private Frame f;
public CardExample() {
f = new Frame("Card Test");
myCard = new CardLayout();
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
p4 = new Panel();
p5 = new Panel();
l1 = new Label("This is the first Panel");
l2 = new Label("This is the second Panel");
l3 = new Label("This is the third Panel");
l4 = new Label("This is the fourth Panel");
l5 = new Label("This is the fifth Panel");
}
public void launchFrame() {
f.setLayout(myCard);
p1.setBackground(Color.yellow);
p1.add(l1);
p2.setBackground(Color.green);
p2.add(l2);
p3.setBackground(Color.magenta);
p3.add(l3);
p4.setBackground(Color.white);
p4.add(l4);
p5.setBackground(Color.cyan);
p5.add(l5);
p1.addMouseListener(this);
p2.addMouseListener(this);
p3.addMouseListener(this);
p4.addMouseListener(this);
p5.addMouseListener(this);
f.add(p1, "First");
f.add(p2, "Second");
f.add(p3, "Third");
f.add(p4, "Fourth");
f.add(p5, "Fifth");
myCard.show(f, "First");
f.setSize(200, 200);
f.setVisible(true);
}
//用于处理鼠标点击事件
public void mousePressed(MouseEvent e) {
myCard.next(f);
}
public void mouseReleased(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public static void main(String args[]) {
CardExample ct = new CardExample();
ct.launchFrame();
}
}
更多 Java视频教程 来自 www.rjpx.net