多少个视图/控制器(JavaFX MVC模式)

时间:2017-12-10 19:42:51

标签: java model-view-controller javafx fxml

我是JavaFX应用程序中MVC模式的新手。我正在学习并尝试将此模式应用于我的JavaFX应用程序。但在我的所有搜索中,我都无法找到答案。

在我的应用中,我有一个BorderPane对象,其中包含TableView个对象,ImageView个对象,一些Button个实例以及其他控件,如TextField个对象等等。

现在,我还没有用于视图的控制器,模型和FXML文件的代码,但只是一些草稿,因为我的问题是:
假设我想为每个不同的视图设置一个控制器,我应该创建多少个控制器和视图来处理BorderPane对象中显示的数据?我的意思是,我应该为控制器和我的观点使用的粒度,细节级别是多少?我想到的替代方案是:

  1. TableView对象的一个​​视图(FXML文件)和与该视图关联的控制器,Button个对象的一个​​视图(FXML文件)和与之关联的控制器,以及一个视图(FXML)文件)用于ImageView对象和与之关联的控制器;
  2. 较少的细节,即TableViewImageView对象的一个​​视图和单个控制器,以及带有关联控制器的按钮的一个视图;
  3. 更不详细,这是BorderPane对象的单个FXML文件及其包含的所有UI元素,以及控制所有事件和模型绑定的单个控制器。
  4. 一开始,我希望有第三个选项,但我在一些例子中看到有一个控制器和一个UI元素的视图,而不是包含所有JavaFX控件的根UI元素。 / p>

    P.S。:英语不是我的第一语言,我希望我解释得很好。

1 个答案:

答案 0 :(得分:-1)

JavaFX已经遵循MVC设计模式,您可以选择为每个javafx设计文件(.fxml)创建一个控制器。我建议为每个" .fxml"创建一个控制器。文件。 Scene Builder提供了一种有组织的方式,您可以在其中创建设计文件并指定" Controller类"。

enter image description here