[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(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具