java学习笔记74--事件源,事件对象,事件监听

1)事件源
        AWT和Swing中的几乎所有的组件都可以作为事件源,注意容器也是一种组件。
            例如:窗口、面板、按钮、输入框、下拉类别、单选复选框、标签、滚动条、进度条等等
        
        例如:AWT和Swing中的组件都是java.awt.Component类的子类型,Component类中定义了很多所有组件都可以调用的方法,这些方法中有很多是这种形式的:addXxxxListener
        这些方法就是给组件中注册事件监听器的方法,只是不同类型的事件需要使用不同类型的监听器来监听,所以不同的addXxxxListener方法就表示给组件添加相应的事件监听器。(Xxxx代表事件的类型)
            
2)事件对象及其对应的处理接口(也就是事件监听器)
        注:事件处理器都被定义为了接口,思考为什么都定义为接口

        java.util.EventObject类
            public class EventObject extends Object{}
            
            该类是java中所有事件对象的父类型。
            该类中有一个非常重要的方法:getSource
            public Object getSource(){...}
            该方法返还的对象是产生当前事件的事件源
            例如:当前使用鼠标点击按钮btn的时候,会产生一个事件对象e,这个对象e就表示鼠标点击的事件,同时e也是EventObject类型的对象,调用getSource方法可以得到产生事件的事件源,也就是我们点击的那个按钮btn.

        

        java.awt.Event类
            public class Event extends Object{..}
            在Java1.1和以后的版本中该类已被废弃,由AWTEvent类及其子类所取代.


        
        java.awt.AWTEvent类
            public abstract class AWTEvent extends EventObject{...}
            该类是所有AWT事件的父类型,此类及其子类取代了原来的 java.awt.Event类

        

        java.awt.event.ActionEvent类
            public class ActionEvent extends AWTEvent{...}
            动作事件类,单击按钮、选择菜单项或在文本框中按回车时可产生此事件对象。
            
            可以处理该类型事件的监听器接口:ActionListener
            注:ActionListener是一个很通用的接口,可以处理很多种组件上面产生的事件.
            例如:

            JFrame jFrame = new JFrame();
            JPanel panel = new JPanel();
            
            JButton btn = new JButton("测试");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    System.out.println("hello");
                }
            });
            
            panel.add(btn);
            
            jFrame.setSize(400, 400);
            jFrame.setLocation(700, 300);
            jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jFrame.add(panel);
            jFrame.setVisible(true);

 

        java.awt.event.AdjustmentEvent类
            public class AdjustmentEvent extends AWTEvent{..}
            调整事件类,当改变滚动条滑块位置时可产生此事件对象。

            该类代表由Adjustable类型对象所发出的调整事件。主要针对的是滚动条,Scrollbar和JScrollbar都是Adjustable接口的实现类。

            可以处理该类型事件的监听器接口:AdjustmentListener
            例如:
            JFrame jFrame = new JFrame();
            JPanel panel = new JPanel();
            
            JScrollBar bar = new JScrollBar(JScrollBar.HORIZONTAL, 0, 0, 0, 100);
            bar.setPreferredSize(new Dimension(100, 20));
            bar.addAdjustmentListener(new AdjustmentListener() {
                @Override
                public void adjustmentValueChanged(AdjustmentEvent e) {
                    System.out.println(e.getValue());
                }
            });
            
            panel.add(bar);
            
            jFrame.setSize(400, 400);
            jFrame.setLocation(700, 300);
            jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jFrame.add(panel);
            jFrame.setVisible(true);
        
        
        
        java.awt.event.ComponentEvent类
            pub

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值