将动作侦听器添加到另一个类中的jbutton

时间:2013-04-20 18:41:27

标签: java swing model-view-controller jbutton actionlistener

我正在尝试从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感到满意。

0 个答案:

没有答案