如何最有效地连接MVC-esque Java应用程序中的视图和控制器。目前,我正在做以下事情:
Controller创建视图并将其作为参数传递给视图:
MyView view = new MyView(this);
查看按钮有ActionListener
个。 ActionListener
并没有做太多事情,只能在控制器中触发一个动作:
private class ButtonAListener implements ActionListener { @Override public void actionPerformed(ActionEvent arg0) { controller.clickedButtonA(); } }
工作正常,但这可以接受吗?例如,如果在视图中单击了一个按钮,ActionListener
会将该信息传递给控制器,控制器会进行一些计算,并传回一个命令来更新视图。
答案 0 :(得分:2)
我建议从控制器移动视图的创建。如果要分离视图和控制器(这就是整点),控制器应该只有一个setter方法(或其他依赖注入机制)。我认为你应该有一个启动器类来创建控制器和视图,然后将它们连接在一起。