I made a calculator in Java, but some of the code is very repetitive. Here is what I used to add an 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);
Is there any way to shorten this up?
Use a
JButton[]for all or some (only digit buttons maybe) of your buttons. Then iterate over that array and addActionListenerto the buttons:Similarly you can use a
JButton[]for the operator buttons. By using different arrays, you can avoid possible confusions, I think.