实验3:java内部类
- 格式:doc
- 大小:45.00 KB
- 文档页数:4
实验三:内部类
实验说明:
本实验通过测试对话框来来实现测试内部类实验。在该实
验中,定义了成员内部类
MyMoliter和MyDialog1, 局部内部类
MyDialog2, 还有在Button1上通过添加匿名内部类来添加动作事
件。
运行结果:
点击确定后点击取消后
源代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class InnerClassTest{
public static void main(String[] arges){
MyFrame f = new MyFrame();
}
}
class MyFrame extends Frame{
/*
在类MyFrame中定义成员内部类MyMoliter和MyDialog1
成员内部类定义在一个里面,方法体外面
*/
class MyMoliter implements ActionListener {
public void actionPerformed(ActionEvent e) {
MyDialog1 dialog = new MyDialog1();
dialog.setVisible(true);
}
}
class MyDialog1 extends JDialog {
public MyDialog1() {
setBounds(50, 50, 200, 100);
Label lbl = new Label("欢迎进入这个界面!");
add(lbl);
}
}
public MyFrame() { //MyFrame的构造方法
super("InnerClassTest!");
/*
在构造方法中定义局部内部类MyDialog2
局部内部类定义在一个方法体的里面
*/
class MyDialog2 extends JDialog {
public MyDialog2() {
setBounds(50, 50, 200, 100);
Label lbl = new Label("谢谢您的使用!");
add(lbl);
}
}
setLayout(new FlowLayout(FlowLayout.LEFT, 20, 40));
setBounds(100, 100, 300, 200);
JButton b1 = new JButton("取消");
JButton b2 = new JButton("确定");
b2.addActionListener(new MyMoliter());
add(b2);
/*
在JButton b1上添加动作事件,是用匿名内部类
*/
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
MyDialog2 dialog = new MyDialog2();
dialog.setVisible(true);
}
});
add(b1);
pack();
setVisible(true);
}
}