Как я могу создать один ActionListener для нескольких JButton
Я создаю базовый калькулятор, используя MVC. Пока что я адаптирую учебник, который просто суммирует два введенных пользователем значения вместе.
В настоящее время каждая кнопка, которую я добавляю к представлению, имеет своего собственного слушателя, и это нормально. Тем не менее, контроллер согласно учебнику имеет один внутренний класс ActionListener для каждой кнопки. Это повторяет огромное количество кода.
Как создать один класс ActionListener для всех нажатых кнопок и использовать оператор case для идентификатора нажатой кнопки?
Регистрация кнопки oneButton в представлении
void oneListener(ActionListener listenForOneButton){
oneButton.addActionListener(listenForOneButton);
}
Реализация ActionListener для oneButton во внутреннем классе Controller
class oneListener implements ActionListener{
public void actionPerformed(ActionEvent e){
int previousNumber, displayNumber = 0;
try{
previousNumber = theView.getPreviousDisplayNumber();
displayNumber = previousNumber+1;
theView.setDisplayNumber(displayNumber);
}
catch(NumberFormatException ex){
System.out.println(ex);
theView.displayErrorMessage("You Need to Enter Integers");
}
}
}