いくつかの投稿を読んだ後、ActionListeners を実装するこれら 2 つの方法の違いについてはよくわかりません。何らかの方法でコーディングする正当な理由はありますか? ビューデカップリングについてはどうですか?
オプション1:
ビューに getButton()/setButton() メソッドを実装し、これらのメソッドを使用してコントローラに ActionListeners を追加します。
見る
public JButton getBtnRun() {
return btnRun;
}
コントローラ
m_view.getBtnRun().addActionListener(new ButtonListener());
オプション 2:
ここのように、ビューにメソッドを実装し、コントローラーからこれらのメソッドを呼び出します
見る
public void setOpenFileAction(Action action) {
displayText.setOpenFileButtonAction(action);
fileMenu.add(new JMenuItem(action));
}
コントローラ
view.setOpenFileAction(new OpenFileAction(view, model, "Open File",
KeyEvent.VK_O));