有没有办法让所有这些动作侦听器变成一条语句?
jbtn0.addActionListener(this);
jbtn1.addActionListener(this);
jbtn2.addActionListener(this);
jbtn3.addActionListener(this);
jbtn4.addActionListener(this);
jbtn5.addActionListener(this);
jbtn6.addActionListener(this);
jbtn7.addActionListener(this);
jbtn8.addActionListener(this);
jbtn9.addActionListener(this);
jbtnAdd.addActionListener(this);
jfrm.add(jbtn0);
jfrm.add(jbtn1);
jfrm.add(jbtn2);
jfrm.add(jbtn3);
jfrm.add(jbtn4);
jfrm.add(jbtn5);
jfrm.add(jbtn6);
jfrm.add(jbtn7);
jfrm.add(jbtn8);
jfrm.add(jbtn9);我对java相当陌生,我正在使用eclipse。
发布于 2014-10-26 22:58:46
是的,在某种程度上。我有时会这样做:
for(JButton btn : new JButton[] {
jbtn0, jbtn1, jbtn2, ... , jbtn9
}) {
jbtn.addActionListener(this);
jfrm.add(jbtn);
}即使我的组件不是从数组中启动的,例如,如果我正在填充一个JToolBar,并且需要在其他地方引用组件的名字,我也会这样做。
从您的命名方案来看,从一开始就使用数组也可能是有利的。
发布于 2014-10-26 22:58:53
正如pzaenger在他的评论中所说的,您可以将所有按钮添加到ArrayList或数组中,然后迭代所有条目并向每个条目添加一个actionlistener。
https://stackoverflow.com/questions/26578918
复制相似问题