相关疑难解决方法(0)

在JavaFx中应用MVC

我是GUI世界/ OO设计模式的新手,我想在我的GUI应用程序中使用MVC模式,我已经阅读了一些关于MVC模式的教程,模型将包含数据,View将包含可视元素和控制器将在视图和模型之间建立联系.

我有一个包含ListView节点的View,ListView将使用Person Class(Model)填充名称.但我对一件事情有点困惑.

我想知道的是,如果从文件加载数据是由Controller或模型负责的?名称的ObservableList:它应该存储在Controller还是Model中?

java model-view-controller user-interface javafx

26
推荐指数
1
解决办法
5万
查看次数

JavaFX软件设计

在JavaFX应用程序中,必须对javafx.application.Application进行子类化,并且必须从此派生类中调用继承的launch()方法,尽管它是公共的,否则抛出异常.然后,launch()方法使用反射来实例化派生类,这使得在启动时很难为类成员设置值而不会丢失它们.所有这些对我来说都是不寻常的,我想知道为什么启动JavaFX应用程序是如此复杂,如果那种软件设计(设计模式?)有一个名字,或者它只是糟糕的设计?

编辑:

更具体地说,我想使用观察者模式,因此我的java应用程序在加载文档时会收到通知,如下所示:

public class MyDocumentLoader extends Application
{
    private ChangeListener<Worker.State> changeListener;

    public void setChangeListener(ChangeListener<Worker.State> changeListener)
    {
        this.changeListener = changeListener;
    }

    ...

    public void loadDocument(String url)
    {
        webEngine.getLoadWorker().stateProperty().addListener(changeListener);
        webEngine.load(url);
    }

    ...

}
Run Code Online (Sandbox Code Playgroud)

我需要几个方法中的回调成员,理想情况下我可以有多个加载文档的类实例,因此我可以为不同的URL设置不同的ChangeListener.

java javafx

0
推荐指数
1
解决办法
741
查看次数