博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[javaSE] GUI(Action事件)
阅读量:6227 次
发布时间:2019-06-21

本文共 1544 字,大约阅读时间需要 5 分钟。

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

定义一个类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();    }}

 

转载地址:http://unnna.baihongyu.com/

你可能感兴趣的文章
小心钱财不翼而飞!微信绑定银行卡的有必要点击这个按钮!
查看>>
组件调用错误,路径问题
查看>>
Python 基础起步 (九) 条件语句 if elif else 其实很简单
查看>>
Hello, Node.js!
查看>>
JavaWEB开发14——ajax
查看>>
Vue2.0 + ElementUI 手写权限管理系统后台模板(二)——权限管理
查看>>
利用AudioContext来实现网易云音乐的鲸鱼音效
查看>>
简述原型链是什么,有什么用处?若想访问一个对象的原型,应该使用什么方法?...
查看>>
HBuilder开发WAP2APP增加扫一扫功能
查看>>
程序员选电脑,你会不会买Mac?
查看>>
JS 里的数据类型转换
查看>>
python大佬养成计划----正则表达式
查看>>
JS原型与原型链总结篇
查看>>
mybatis缓存机制与陷阱
查看>>
【CSS】CSS常用技巧
查看>>
IO多路复用(二) -- select、poll、epoll实现TCP反射程序
查看>>
ECMAScript6(11):Set 与 Map
查看>>
Spring
查看>>
redis系列:通过队列案例学习list命令
查看>>
关于如何把项目做得更好的一次思考
查看>>