我正在尝试根据 MVC 设计模式对我的小项目进行建模。因此,我试图将我的 JButton(submit)(在 UI 类中)的 ActionListener 分配给模型类中的评估方法,我在下面的第三类(控制器)代码中执行所有这些操作。
public class ExpressionController implements ActionListener {
ExpressionModel model;
ExpressionUI view;
public ExpressionController(ExpressionModel m, ExpressionUI v) {
model = m;
view = v;
//ERROR: The method is undefined for the type Expression Controller
actionListenerComponenets(this);
}
@Override
public void actionPerformed(ActionEvent e) {
try {
double result;
result = model.evaluate(Double.parseDouble(view.input.getText()));
view.result.setText(String.valueOf(result));
}catch (Exception ex) {
ex.printStackTrace();
}
}
public void actionListenerComponenents(ActionListener ae) {
view.submit.addActionListener(ae);
}
我的问题是在 UI 类之外分配动作侦听器(请参阅代码中的注释)......有没有更好的方法来做到这一点?我知道这只是一个简单的例子,但我想熟悉 MVC 设计。