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