0

いくつかの投稿を読んだ後、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));
4

1 に答える 1

3
  • IMHO Swing Actionは 1 つだけの方がよいでしょう。

  • たとえば、有効/無効にする場合は、およびもSwing Action有効/無効にする必要があります。JMenuJButton

于 2013-06-14T10:47:51.093 に答える