簡體   English   中英

JavaFX:初級階段可見性和多個獨立階段

[英]JavaFX: primary stage visibility and multiple independent stages

我想在javafx的CLI控制台中創建任意數量的階段,並且它們彼此獨立。 我知道只能有一個Application實例,這就是我這樣做的原因:

public class BaseApplication extends  Application{
    @Override
    public void start(Stage primaryStage) throws Exception {
        //we do nothing with this stage.
    }
}

舞台課程:

public class SomeStage extends State(){
   public SomeStage(){
    ...
    show();
   }
}

這是根據CLI命令運行的代碼:

Platform.runLater(()->{
   SomeStage someStage=new SomeStage();
});

但是,使用此代碼,我只能創建SomeStage的一個實例。 如果在BaseApplication中,我執行primaryStage.show(); 那么我可以創建N個SomeStage實例,但是僅當primaryStage可見時。 如何從初級階段解釋並解決這種依賴性?
編輯
我發現,當主階段不可見並且我想創建SomeStage的第二個實例時,不會調用Platform.runLater。 我的意思是

System.out.println("Point 1");
Platform.runLater(()->{
   System.out.println("Point 2");
   SomeStage someStage=new SomeStage();
});

而且我在屏幕上只看到Point 1 ,而沒有調用SomeStage的構造函數。

您尚未發布完整的示例,因此很難確定正在發生的事情,但是我懷疑當start()方法退出時JavaFX工具包正在關閉。 因此,沒有正在運行的FX應用程序線程可以執行您在Platform.runLater()提供的可運行對象。 嘗試致電

Platform.setImplicitExit(false);

start()方法中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM