Model view controller JavaFX2中自定义组件类之间通信的正确MVC方法

Model view controller JavaFX2中自定义组件类之间通信的正确MVC方法,model-view-controller,javafx-2,fxml,scenebuilder,Model View Controller,Javafx 2,Fxml,Scenebuilder,我有一个自定义的JavaFX-2组件,它是用fxml语言编写的(我称之为child或children),我使用JavaFX场景生成器创建它。我的一个视图类需要显示几个(~100)这样的组件并与它们通信。考虑到MVC体系结构,最好的沟通方式是什么 (容器)模型->(子对象)模型 (容器)控制器->(子级)控制器 (容器)控制器->(子)模型 基本上,我需要至少能够监视在子UI和/或容器对象中发生的两种事件 案例1:用户单击了我的自定义组件(子组件)中存在的按钮(或与另一个对象进行了交互),容器必须

我有一个自定义的
JavaFX-2
组件,它是用
fxml
语言编写的(我称之为child或children),我使用
JavaFX场景生成器创建它。我的一个视图类需要显示几个(~100)这样的组件并与它们通信。考虑到
MVC
体系结构,最好的沟通方式是什么

  • (容器)模型->(子对象)模型
  • (容器)控制器->(子级)控制器
  • (容器)控制器->(子)模型
  • 基本上,我需要至少能够监视在子UI和/或容器对象中发生的两种事件

    案例1:用户单击了我的自定义组件(子组件)中存在的按钮(或与另一个对象进行了交互),容器必须就更改进行通信

    案例2:用户触发了容器上的一个事件,根据特定查询过滤组件。例如,我需要与孩子们沟通此更改


    提前谢谢你的帮助。干杯

    我总是倾向于保持控制器之间的通信,而我的模型是POJO,尽管它们使用javafx属性来存储数据。这似乎映射到选项2


    父控制器很容易调用子控制器,它所要做的就是加载它们并将它们保存在列表中。调用父对象的子对象有点难看,因为它可能需要引用父对象。我试图通过在父控制器向其添加侦听器的子控制器上使用事件处理程序属性来避免这种情况。这使得我的孩子的控件非常可重用。

    是的,使用控制器对控制器似乎是正确的方法。非常感谢你