我用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[]用于操作员按钮。我认为,通过使用不同的数组,可以避免可能出现的混乱。

09-11 18:09