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中关于该特性的任何信息是否有助于您诊断问题?