我是JavaFX应用程序中MVC模式的新手。我正在学习并尝试将此模式应用于我的JavaFX应用程序。但在我的所有搜索中,我都无法找到答案。
在我的应用中,我有一个BorderPane
对象,其中包含TableView
个对象,ImageView
个对象,一些Button
个实例以及其他控件,如TextField
个对象等等。
现在,我还没有用于视图的控制器,模型和FXML文件的代码,但只是一些草稿,因为我的问题是:
假设我想为每个不同的视图设置一个控制器,我应该创建多少个控制器和视图来处理BorderPane对象中显示的数据?我的意思是,我应该为控制器和我的观点使用的粒度,细节级别是多少?我想到的替代方案是:
TableView
对象的一个视图(FXML文件)和与该视图关联的控制器,Button
个对象的一个视图(FXML文件)和与之关联的控制器,以及一个视图(FXML)文件)用于ImageView
对象和与之关联的控制器; TableView
和ImageView
对象的一个视图和单个控制器,以及带有关联控制器的按钮的一个视图; BorderPane
对象的单个FXML文件及其包含的所有UI元素,以及控制所有事件和模型绑定的单个控制器。一开始,我希望有第三个选项,但我在一些例子中看到有一个控制器和一个UI元素的视图,而不是包含所有JavaFX控件的根UI元素。 / p>
P.S。:英语不是我的第一语言,我希望我解释得很好。
答案 0 :(得分:-1)
JavaFX已经遵循MVC设计模式,您可以选择为每个javafx设计文件(.fxml)创建一个控制器。我建议为每个" .fxml"创建一个控制器。文件。 Scene Builder提供了一种有组织的方式,您可以在其中创建设计文件并指定" Controller类"。