阅读一些帖子后,我不确定这两种实现ActionListeners的方法之间的区别。是否有好理由以某种方式进行编码?视觉解耦怎么样?
选项1:
在视图中实现getButton()/ setButton()方法,并使用这些方法在控制器中添加ActionListeners。
查看
public JButton getBtnRun() {
return btnRun;
}
CONTROLLER
m_view.getBtnRun().addActionListener(new ButtonListener());
选项2:
在视图中实现方法,并从控制器调用这些方法,如here
查看
public void setOpenFileAction(Action action) {
displayText.setOpenFileButtonAction(action);
fileMenu.add(new JMenuItem(action));
}
CONTROLLER
view.setOpenFileAction(new OpenFileAction(view, model, "Open File",
KeyEvent.VK_O));