有没有办法让所有这些actionlisteners成为一个声明?
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。
答案 0 :(得分:4)
是的,在某种程度上。我有时会这样做:
for(JButton btn : new JButton[] {
jbtn0, jbtn1, jbtn2, ... , jbtn9
}) {
jbtn.addActionListener(this);
jfrm.add(jbtn);
}
即使我的组件没有从数组中开始,我也这样做,例如,如果我填充JToolBar并且需要在其他地方按名称引用组件。
根据您的命名方案判断,从一开始就使用数组也可能是有利的。
答案 1 :(得分:-1)
正如pzaenger在他的评论中所说,你可以将所有按钮添加到ArrayList或数组中,然后只需遍历所有条目并为每个条目添加一个actionlistener。