[javaSE] GUI(Action事件)
2023-02-18 15:47:15 时间
对自己定义的类规范化一下,事件和图形化组件分离出来
定义一个类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(); } }
相关文章
- 浅析MetaForce原力元宇宙佛萨奇2.0智能合约系统开发逻辑详解丨佛萨奇2.0源码功能开发
- ES6数组的扩展扩展运算符(spread)三个点(...)
- Vue路由嵌套控制台发出警告Named Route ‘Home‘ has a default child route. When navigating to this named route (:to
- Vue-cli搭建的项目中路径别名的配置
- Vue报错避免冗余导航解决方法
- 佛萨奇2.0波场链/币安链/马蹄链DAPP智能合约系统开发成功案例及源码交付
- BetterScroll2.0在Vue中的基本使用
- 封装格式化日期工具函数
- 封装获取URL中params的值
- Vue非父子组件传值之事件总线(eventbus)的使用方式
- Neuron 2.3.0 发布:更轻松地接入和管理海量工业设备
- Vue中websocket的使用方法
- IE中 时间对象方法getTime返回NaN
- 解决WebGl使用OrbitControls控件监听鼠标操作时报错
- ES6新内置对象Reflect和Proxy的基本使用
- Mac电脑照片编辑修图软件精选 每一款各有千秋!
- Vue双向绑定实现原理
- M1/M2 芯片的Mac电脑上虚拟机安装 Windows 11 图文教程
- ES6内置对象Proxy代理数据demo
- React初识 Hello React