MVC デザイン パターンから小さなプロジェクトをモデル化しようとしています。そのため、JButton(submit) (UI クラス内) の ActionListener をモデル クラスの evaluate メソッドに割り当てようとしています。これをすべて 3 番目のクラス (コントローラー) コードで実行しています。
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 デザインに慣れたいと思っています。