java 添加监听事件 其实如果你整个项目有很多,按钮之类的,其实可以把这些写在配置文件当中。如:jMenuItem=jMenuItem1,jMenuItem2…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用父类jMenuItemBase 统一 addListener 然后每个子类都继承一下Class jMenuItem1 extends jMenuItemBaseClass jMenuItem2 extends jMenuItemBase...子类根据需要重新处理 用数组循环到是可以,不过我是用NetBeans添加的,我不想在把每个菜单项,都添加在1个数组里,这样我还不如直接加监听,现在100多个菜单项(jMenuItem),都是没有加入数组的,怎么可以实现不用数组循环,就可以全部加监听 子类化监听适配器!为每个菜单设置id。在这个子类中根据id 实现不同的方法 你的不同菜单应该是处理不同逻辑的,而不同的业务逻辑的ActionListener实现是不一样的,除非你把菜单的id弄成有规律的,放到list里面,事件也做成有规律的,放到list中。比如for(int i=0; i<100; i++){ menuList.get(i).addActionListener(actionList.get(i));} 自己找到解决方法: //给所有jMenuItem添加监听 for(int i = 0; i<jMenuBar1.getMenuCount();i++)//getMenuCount()返回jMenuBar上的jMenu数 { JMenu jm = jMenuBar1.getMenu(i);//返回指定位置的JMenu if(jm != null) { for(int j = 0; j<jm.getMenuComponentCount();j++)//getMenuComponentCount()返回jMenu上的jMenuItem数 { if(jm.getMenuComponent(j) instanceof JMenuItem)//返回指定位置的Component(即jMenuItem) { ((JMenuItem)jm.getMenuComponent(j)).addActionListener(this); } } } } ProcessBuilder 怎样调用 keytool命令? [百度分享]如何减少浏览器的repaint和reflow(一) 对二维数组操作时遇到的问题? JMF播放器怎么播网络歌曲? 哪位朋友有《Java After Hours: 10 Projects You'll Never Do at Work》的代码和资源? 菜鸟跪求达人解题 请教 ##A question, Why????## List l1 = new LinkedList();报错 jdom问题 Eclipse运行输出“Hello world”小程序出错 正则表达式问题
然后每个子类都继承一下
Class jMenuItem1 extends jMenuItemBase
Class jMenuItem2 extends jMenuItemBase
...
子类根据需要重新处理
for(int i=0; i<100; i++){
menuList.get(i).addActionListener(actionList.get(i));
}
for(int i = 0; i<jMenuBar1.getMenuCount();i++)//getMenuCount()返回jMenuBar上的jMenu数
{
JMenu jm = jMenuBar1.getMenu(i);//返回指定位置的JMenu
if(jm != null)
{
for(int j = 0; j<jm.getMenuComponentCount();j++)//getMenuComponentCount()返回jMenu上的jMenuItem数
{
if(jm.getMenuComponent(j) instanceof JMenuItem)//返回指定位置的Component(即jMenuItem)
{
((JMenuItem)jm.getMenuComponent(j)).addActionListener(this);
}
}
}
}