当前位置:编程学习 > JAVA >>

java 添加监听事件

正常给一个菜单项添加监听是:jMenuItem1.addActionListener(this);

现在我的程序里有100多个菜单项,这个的话,我就必须一个一个的添加监听:
jMenuItem1.addActionListener(this);
jMenuItem2.addActionListener(this);
jMenuItem3.addActionListener(this);
jMenuItem4.addActionListener(this);
.....
.....
.....

这样,很累,也很占程序代码段,
我想问有什么方法,能一次,就把所有的菜单项全部添加监听?希望高人指点 --------------------编程问答-------------------- 如果业务按钮数量不能改变的话,那就写个循环(类似自动加的) --------------------编程问答-------------------- 其实如果你整个项目有很多,按钮之类的,其实可以把这些写在配置文件当中。
如:jMenuItem=jMenuItem1,jMenuItem2…… --------------------编程问答-------------------- 用数组不就好了 --------------------编程问答-------------------- 用父类jMenuItemBase 统一 addListener 
然后每个子类都继承一下
Class jMenuItem1 extends jMenuItemBase
Class jMenuItem2 extends jMenuItemBase
...
子类根据需要重新处理 --------------------编程问答-------------------- 循环处理就OK了 --------------------编程问答-------------------- 用数组循环到是可以,不过我是用NetBeans添加的,我不想在把每个菜单项,都添加在1个数组里,这样我还不如直接加监听,

现在100多个菜单项(jMenuItem),都是没有加入数组的,怎么可以实现不用数组循环,就可以全部加监听 --------------------编程问答-------------------- 子类化监听适配器!为每个菜单设置id。在这个子类中根据id 实现不同的方法 --------------------编程问答-------------------- 你的不同菜单应该是处理不同逻辑的,而不同的业务逻辑的ActionListener实现是不一样的,除非你把菜单的id弄成有规律的,放到list里面,事件也做成有规律的,放到list中。比如
for(int i=0; i<100; i++){
    menuList.get(i).addActionListener(actionList.get(i));
}

--------------------编程问答-------------------- 要实现的监听,处理的方法是一样的,就是不知道,怎么一下,就全部加上监听,还是没有人解决啊
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,