簡體   English   中英

JavaFX Stage顯示空的場景

[英]JavaFX Stage shows empty scene

我一直試圖從控制器打開一個新窗口以顯示進度條:

    Stage fenetre = new Stage();
    fenetre.initModality(Modality.APPLICATION_MODAL);

    FXMLLoader loader;
    Parent root;
    Scene chargementBox;

    loader = new FXMLLoader();
    loader.setLocation(getClass().getResource("/views/Chargement.fxml"));
    loader.load();
    root = loader.getRoot();
    chargementBox = new Scene(root);

    fenetre.setTitle("Chargement");
    fenetre.resizableProperty().set(false);    
    fenetre.setScene(chargementBox);
    fenetre.show();

它顯示窗口。 但它是空的:

這是應該顯示的

這是我得到的

我嘗試了一切,使用了其他FXML文件,窗口大小正確,但是始終為空。 相同的代碼可在其他Controller上使用,但不適用於此處。

請幫助。 沒有例外,沒有錯誤。 謝謝


編輯:我發現了它不顯示的原因,這是因為稍后在代碼中我具有以下功能: Transport.send(message); 阻止程序刷新我的場景並顯示元素。 有沒有一種方法可以在后台或其他線程中運行該行(我以前從未使用過線程。)再次感謝您的幫助。

要在后台線程上運行某些內容,您需要使用任務(一次可用)或服務(可重復使用)。

這是使用服務的方式:

Service<Void> service = new Service<Void>(){
            @Override
            protected Task<Void> createTask() {
                return new Task<Void>() {
                    @Override
                    protected Void call() throws Exception {
                            //do your logic here.
                        return null;
                    }
                };
            }
        };
        service.setOnSucceeded(event -> {
                //do some processing when complete
             });
        service.setOnFailed(event -> {
               //do some processing when it failes
             });

        service.start();

暫無
暫無

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

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