[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();
    }

}
复制代码

 

posted @   唯一客服系统开发笔记  阅读(336)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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工具
点击右上角即可分享
微信分享提示
1
chat with us