需求:把按钮添加到窗体,并对按钮添加一个点击事件。
A:创建窗体对象
B:创建按钮对象
C:把按钮添加到窗体
D:窗体显示
注意:这里对按钮添加点击事件,同样使用监听器。
但是,这里的按钮是组件,所以不能使用 窗体侦听器WindowListener()
要使用 组件侦听器 ActionListener() 。
同时,由于 ActionListener() 只有一个构造方法,所以不需要调用适配器。
代码:
public class FrameDemo3 { public static void main(String[] args) {
// 创建窗体对象 局部内部类访问局部变量,得使该变量为静态 final
final Frame f = new Frame("添加按钮");
// 设置窗体属性
f.setBounds(300, 300, 400, 400); // 设置窗体的布局为流水布局
f.setLayout(new FlowLayout()); // 创建按钮对象
Button b = new Button("点击"); // 设置按钮尺寸
b.setBounds(10, 20, 20, 20); // 添加按钮到窗体中
f.add(b); // 创建窗口关闭监听
f.addWindowListener(new WindowAdapter() {// 适配器
public void windowClosing(WindowEvent e) {
System.exit(0);
} }); // 创建按钮点击的监听事件
// 用于接收操作事件的侦听器接口 ActionListener
b.addActionListener(new ActionListener() {
//由于操作时间的侦听器接口只有1个构造方法,所以直接使用它,不需要使用适配器
public void actionPerformed(ActionEvent e) {
//每点击一次“点击”按钮,就会出现一个“再点啊”按钮
Button bu = new Button("再点啊");
bu.setSize(20,20);
f.add(bu); //局部内部类中访问局部变量,这里在外面的f添加final
f.setVisible(true);
}
});
// 使窗体显示
f.setVisible(true);
} }