📄 mycardlayout.java
字号:
import java.awt.*;
import java.awt.event.*;
public class MyCardLayout implements MouseListener{ //实现鼠标事件接口
private Panel p1, p2, p3, p4, p5;
private Label lb1, lb2, lb3, lb4, lb5;
private Button b1,b2,b3,b4,b5;
//声明一个CardLayout和一个框架对象
private CardLayout myCard;
private Frame f;
public void disp() {
f = new Frame ("MY CardLayout");
myCard = new CardLayout();
f.setLayout(myCard); //设置框架为CardLayout布局管理器
//建立5个Panel对象
p1 = new Panel();
p2 = new Panel();
p3 = new Panel();
p4 = new Panel();
p5 = new Panel();
//在每个Panel上放置一个标签
//为每个Panel设置不同的背景色
//在每个Panel上放置一个按钮
lb1 = new Label("这是第一个Panel");
b1=new Button("b1");
p1.setBackground(Color.yellow);
p1.add(lb1);
p1.add(b1);
lb2 = new Label("这是第二个Panel");
b2=new Button("b2");
p2.setBackground(Color.green);
p2.add(lb2);
p2.add(b2);
lb3 = new Label("这是第三个Panel");
b3=new Button("b3");
p3.setBackground(Color.magenta);
p3.add(lb3);
p3.add(b3);
lb4 = new Label("这是第四个Panel");
b4=new Button("b4");
p4.setBackground(Color.white);
p4.add(lb4);
p4.add(b4);
lb5 = new Label("这是第五个Panel");
b5=new Button("b5");
p5.setBackground(Color.cyan);
p5.add(lb5);
p5.add(b5);
//设定每个Panel可以接收鼠标事件
p1.addMouseListener(this);
p2.addMouseListener(this);
p3.addMouseListener(this);
p4.addMouseListener(this);
p5.addMouseListener(this);
//将每个Panel作为一张卡片加入框架中,add方法中的字符串为每个卡片的标识
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[]) {
MyCardLayout ct = new MyCardLayout();
ct.disp();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -