相关疑难解决方法(0)

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
查看次数

标签 统计

java ×1

javafx ×1