我用Java制作了一个计算器,但是其中一些代码非常重复。这是我用来添加ActionListener的东西
one.addActionListener(handlerOne);
two.addActionListener(handlerOne);
three.addActionListener(handlerOne);
four.addActionListener(handlerOne);
five.addActionListener(handlerOne);
six.addActionListener(handlerOne);
seven.addActionListener(handlerOne);
eight.addActionListener(handlerOne);
nine.addActionListener(handlerOne);
zero.addActionListener(handlerOne);
add.addActionListener(handlerOne);
subtract.addActionListener(handlerOne);
multiply.addActionListener(handlerOne);
divide.addActionListener(handlerOne);
sqrt.addActionListener(handlerOne);
exp.addActionListener(handlerOne);
equals.addActionListener(handlerOne);
cls.addActionListener(handlerOne);
modulus.addActionListener(handlerOne);
有什么办法可以缩短时间吗?
最佳答案
对所有或部分按钮(可能仅数字按钮)使用JButton[]
。然后遍历该数组并将ActionListener
添加到按钮:
JButton[] buttons = new JButton[10]; // For digit buttons.
int i = 0;
for(JButton button: buttons)
buttons[i++].addActionListener(handlerOne);
同样,您可以将
JButton[]
用于操作员按钮。我认为,通过使用不同的数组,可以避免可能出现的混乱。