【发布时间】:2015-05-31 06:53:06
【问题描述】:
我研究了所有流行的 GUI 模式 - MVP、MVC、MVVM,最后我决定实现 MVP(监督控制器)。所以我有以下对象(!)。 Stage<-View<->Model。重要的是舞台!=视图,它是另一个对象。视图和模型之间的数据绑定。此外,我还有一个演示者(控制器),它处理所有事件并使用视图和模型,所以View<-ViewInterface<-Controller->Model。
现在的问题是如何在视图中获取对标签、文本区域等的引用。 Javafx 允许使用@FXML 注解将这些组件注入控制器。但是,使用 MVP 我需要在 View 中使用这些组件,因为视图的所有逻辑都在 View 中,而我不需要在控制器中使用它们。我知道的唯一解决方案是:
public class MyView{
private Button button;
public MyView(){
...
button=(Button) root.lookup("#myButton");
}
}
即通过他们的 ID 获取引用。不过我不喜欢。或者我做错了什么或者我理解错了,但我认为存在更好的解决方案。请帮我找到它。
【问题讨论】:
-
如何加载 MyView?你是在代码中构建它,还是从 FXML 加载?
-
@Steven Van Impe 我用代码构建它
标签: java design-patterns model-view-controller javafx