我正在使用 MVC 创建一个基本计算器。到目前为止,我正在改编一个仅将两个用户输入的值相加的教程。
目前,我添加到视图中的每个按钮都有自己的侦听器,这没关系。但是,根据教程,控制器每个按钮都有一个 ActionListener 内部类。这重复了大量的代码。
如何为所有按下的按钮创建一个 ActionListener 类,并在按下的按钮的 id 上使用 case 语句?
在视图中注册 oneButton
void oneListener(ActionListener listenForOneButton){
oneButton.addActionListener(listenForOneButton);
}
为Controller内部类中的oneButton实现ActionListener
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");
}
}
}