📄 cardtest.java~9~
字号:
package cardtest;
import java.awt.*;
import java.awt.event.*;
//(0)参见教材P-118 程序8-4:
//CardTest是继承鼠标适配器(既:MouseAdapter)的类
//CardTest类内定义了三个函数
//main( )、init( )、mouseClicked ( MouseEvent e )
public class CardTest extends MouseAdapter{
int i=1 ;
public CardTest() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
Panel p1,p2,p3,p4,p5;
Label l1,l2,l3,l4,l5;
//(1)声明一个CardLayout类对象
CardLayout myCard;
Frame f;
public static void main(String args[]){
CardTest ct=new CardTest();
ct.init();
}
public void init() {
f=new Frame("Card Test");
myCard=new CardLayout();
f.setLayout(myCard);
p1=new Panel();
p2=new Panel();
p3=new Panel();
p4=new Panel();
p5=new Panel();
//(2)为每个Panel创建一个标签并设定不同的背景颜色,以便区分
l1=new Label("This is the first Panel");
p1.add(l1);
p1.setBackground(Color.yellow);
l2=new Label("This is the second Panel");
p2.add(l2);
p2.setBackground(Color.green);
l3=new Label("This is the third Panel");
p3.add(l3);
p3.setBackground(Color.magenta);
l4=new Label("This is the forth Panel");
p4.add(l4);
p4.setBackground(Color.white);
l5=new Label("This is the fifth Panel");
p5.add(l5);
p5.setBackground(Color.cyan);
//(3)设定(即:注册)鼠标事件的监听程序
p1.addMouseListener(this);
p2.addMouseListener(this);
p3.addMouseListener(this);
p4.addMouseListener(this);
p5.addMouseListener(this);
keyclick kc=new keyclick() ;
//(4)将每个Panel作为一张卡片加入Frame
f.add(p1,"First");
f.add(p2,"Second");
f.add(p3,"Third");
f.add(p4,"Forth");
f.add(p5,"Fifth");
//(5)显示第一张卡片
myCard.show(f,"First");
f.setSize(300,200);
f.show();
}
//(6)处理鼠标事件:
//若单击鼠标键,则显示下一张卡片.
//若已经显示到最后一张,则重新显示第一张.
public void mouseClicked(MouseEvent e){
i++;
myCard.next(f);
if (i==5){
System.exit(0);
}
}
private void jbInit() throws Exception {
}
}
class keyclick extends KeyAdapter{
public void keyPressed(KeyEvent e){
System.exit(0);
}
}
//编译源代码:Javac CardTest.java
//运行字节码:Java CardTest
//运行结果:若单击鼠标键,则显示下一张卡片
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -