java各种listner_Java 中 Listener 模式示例

本文给出Java鼠标点击监听示例,先定义鼠标动作监听器接口,再创建Model类,初始化监听器数组,提供添加监听器和触发点击的方法。通过匿名内部类实现监听器,点击一次可触发多次输出,展示了Java多态的力量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

鼠标点击监听示例。

先定义鼠标动作监听器:

1 interface MouseListener {

2     //当click方法被调用的时候代表被鼠标点击了.

3      void click();

4 }

上面是一个接口,里面只有一个方法.先就通过一个例子展示java是如果施展多态的力量了.

1 public class Model {

2

3     //初始化50个监听器

4      private MouseListener[] listeners = new MouseListener[50];

5     //用于记录当前listeners数组记录到了哪里

6      int index = 0;

7

8     public void addListener(MouseListener listener) {

9         //向这个model中注册一个监听器

10          listeners[index++] = listener;

11     }

12

13     public void clickModel() {

14         //调用注册进来所有的listener的click方法

15          for (int i = 0; i < index; i++) {

16             listeners[i].click();

17         }

18     }

19     //测试model

20      public static void main(String[] args) {

21         Model model = new Model();

22         //添加一个匿名内部类,里面实现了click方法.

23          model.addListener(new MouseListener() {

24

25             public void click() {

26                 System.out.println("我被点击了");

27             }

28         });

29         //再添加一个内部类.

30          model.addListener(new MouseListener() {

31

32             public void click() {

33                 System.out.println("我被点击了");

34             }

35         });

36

37         //下面给model一个点击

38          model.clickModel();

39     }

40 }

我们可以看到,只点击一次model,却可以输出了2次"我被点击了"的信息.这也就是为什么你可以向JButton,JComboBox,JList,JTable等等里面添加任意多的各种listener.当然其中的奥秘仍需要各位读者自己慢慢琢磨.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值