JavaFX警报可以显示和等待,但不能显示

JavaFX警报可以显示和等待,但不能显示,java,javafx,Java,Javafx,我有一个警报: Alert alert = new Alert(AlertType.INFORMATION); alert.setTitle("Loading"); alert.setHeaderText("Loading Dialog"); alert.setContentText("Please wait while we load."); 如果我跑 alert.showAndWait(); 它按预期工作。但是如果我跑 alert.show(); 我得到以下信息: 我需要使用show

我有一个警报:

Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("Loading");
alert.setHeaderText("Loading Dialog");
alert.setContentText("Please wait while we load.");
如果我跑

alert.showAndWait();
它按预期工作。但是如果我跑

alert.show();
我得到以下信息:


我需要使用
show
,因为这是一个加载对话框,如果我使用
show和wait

我的内容就无法加载。你说的“这是一个加载对话框”到底是什么意思?@James\u D它的意思是在后台拉取数据时通知用户正在加载内容。我调用
alert.close()在我的数据加载后。所以看起来你不是在后台加载数据,而是在FX应用程序线程上加载数据。这将防止UI被渲染,并精确地显示你所显示的空白屏幕。当然,如果没有看到任何代码,就不可能确定。我建议您在问题中加入一个@James\D这是正确的,我使用的是FX应用程序线程。也就是说,有没有一种方法可以延迟对数据提取的调用,直到发出警报?嗯,好吧。。。不要将FX应用程序线程用于长时间运行的任务。这样做将防止渲染场景并使UI无响应。在后台线程上执行长时间运行的任务。参见(这里有很多例子):