javafx上的模态对话框意外挂起

javafx上的模态对话框意外挂起,java,linux,ubuntu,modal-dialog,javafx,Java,Linux,Ubuntu,Modal Dialog,Javafx,从javafx.stage.stage使用模态.Application\u模态扩展的类会导致应用程序(有时操作系统也会)挂起一段不可预测的时间 我有一节课 ModalDialog extends Stage{ ModalDialog(){ super(StageStyle.TRANSPARENT); initModality(Modality.APPLICATION_MODAL); } } 调用上述类实例的showAndWait()时,应用程序将

javafx.stage.stage
使用
模态.Application\u模态
扩展的类会导致应用程序(有时操作系统也会)挂起一段不可预测的时间

我有一节课

ModalDialog extends Stage{
    ModalDialog(){
        super(StageStyle.TRANSPARENT);
        initModality(Modality.APPLICATION_MODAL);
    }
}
调用上述类实例的showAndWait()时,应用程序将挂起一段不可预测的时间。这发生在UbuntuLinux13.10上。
jconsole
显示了
JavaFX应用程序的堆栈跟踪读取
是:

com.sun.glass.ui.gtk.GtkApplication.enterNestedEventLoopImpl(本机方法)
com.sun.glass.ui.gtk.GtkApplication.\u进入NestedEventLoop(GtkApplication.java:144)
com.sun.glass.ui.Application.enterNestedEventLoop(Application.java:384)
enter(EventLoop.java:83)
com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(QuantumToolkit.java:523)
javafx.stage.stage.showAndWait(stage.java:398)

这种行为是否有已知的解释?

最好为对话框设置一个所有者,以便系统了解对话框的父框架。这使对话框能够对父帧进行模态化,而不仅仅是对空进行模态化。我想这可以解决你的问题

ModalDialog extends Stage{
     ModalDialog(Stage parentStage){
       super(StageStyle.Transparent);
       initOwner(parentStage);
       initModality(Modality.Application_Modal);
   }
这应该可以

您的计算机是否支持此功能?javadoc中关于该特性的任何信息是否有助于您诊断问题?