[javaSE] GUI(Action事件)

时间:2023-03-10 06:09:52
[javaSE] GUI(Action事件)

对自己定义的类规范化一下,事件和图形化组件分离出来

定义一个类FrameDemo

定义成员属性Frame frame

定义成员属性Botton

定义构造方法FrameDemo()

定义初始化方法init()

初始化方法中,new出来Frame(),参数:String的窗体名称

调用Frame对象的setBounds()方法,参数:x,y,width,height

调用Frame对象的setLayout()方法,参数:FlowLayout对象

获取Button对象,new出来,构造参数:String的按钮文本

调用Frame对象的add()方法,参数:Button对象

调用Frame对象的setVisible()方法,参数:Boolean的true

定义事件方法myEvent()

调用Frame对象的addWindowListener()方法,参数:WindowListener对象,WindowListener是个接口,里面有七个方法要实现,找实现子类WindowAdapter,匿名内部类重写windowClosing()方法,传递进来参数:WindowEvent对象

调用Button对象的addActionListener()方法,参数:ActionListener对象,这个类是个接口,因此采用匿名内部类实现这个接口,实现方法actionPerformed()方法,传递进来参数:ActionEvent对象

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; public class FrameDemo {
private Frame frame;
private Button button;
public FrameDemo() {
init();
}
/**
* 初始化
*/
public void init(){
frame=new Frame("测试窗体");
frame.setBounds(300, 200, 200, 200);
frame.setLayout(new FlowLayout()); button=new Button("退出");
frame.add(button);
frame.setVisible(true); addEventAction();
}
/**
* 添加事件
*/
public void addEventAction(){
//按钮退出
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
/**
* @param args
*/
public static void main(String[] args) {
new FrameDemo();
} }

[javaSE] GUI(Action事件)