你的位置:首页 > Java教程

[Java教程][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();  }}