[javaSE] GUI(Action事件)

Posted 陶士涵的菜地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[javaSE] GUI(Action事件)相关的知识,希望对你有一定的参考价值。

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

定义一个类FrameDemo

定义成员属性Frame frame

定义成员属性Botton

 

定义构造方法FrameDemo()

定义初始化方法init()

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

调用Frame对象的setBounds()方法,参数:xywidthheight

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

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

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

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

 

定义事件方法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事件)的主要内容,如果未能解决你的问题,请参考以下文章

[javaSE] GUI(鼠标事件)

[javaSE] GUI(事件监听机制)

JavaSE学习56:GUI编程之事件模型

JavaSE基础(十 二 )---<GUI>标签,文本框,菜单,密码框组件||事件处理,对话框

javaSE第二十五天

Python Qt GUI设计:QTableViewQListViewQListWidetQTableWidgetQTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)(代码片