我正在尝试从MVC设计模式中建模我的小项目。因此我试图将我的JButton(提交)的ActionListener(在UI类中)分配给模型类中的evaluate方法,我在下面的第三个类(控制器)代码中执行所有这些操作。
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 Design感到满意。