【发布时间】:2019-08-28 14:10:11
【问题描述】:
我正在努力解决以下问题: 我的 javafx 应用程序中有一个类似于弹出窗口的东西,它应该阻止应用程序,直到用户进行一些输入。它不是一个单独的阶段,我可以在其中调用 showAndWait() 然后返回阶段的输入。弹出窗口被实现为一个窗格,它被放置在其他组件之上。现在我做这样的事情:
PopupPane pp = new PopupPane()
stackPane.add(new PopupPane()); //show pane
//... waiting until user terminates popup
return pp.getInput(); //returns input when user terminates popup
所以我希望 pp.getInput() 等待,直到用户在我的弹出窗口中按下 OK/CANCEL/APPLY/... 按钮。在这种情况下,我如何才能实现类似 showAndWait() 的功能?
【问题讨论】:
-
对于 javafx 9+ 看看这个线程:stackoverflow.com/questions/46369046/…
-
好奇:为什么?有一些对话框/警报可以为您完成繁重的工作
-
因为有时会出现问题,所以对话框显示在主窗口下。尤其是当我同时需要多个对话框时,在同一个窗口中“模拟”它们会更好。
-
如果您遇到标准对话框未出现在主窗口顶部的问题,那可能是因为您在显示对话框之前没有initialize the owner。
-
然后提供一个 minimal reproducible example 来演示问题(显示在 main 下)与滚动你自己的问题(你没有显示)效果不好;)
标签: java user-interface javafx