我正在使用JavaFX内置的Alert和Dialog类,这些类在Windows中运行良好,在Windows中从Eclipse运行时,但在运行RedHat 6的目标硬件上运行时出现在父窗口后面。我试过调整各种事情,包括:
primaryStage.initStyle(StageStyle.UNDECORATED);
primaryStage.setFullScreen(true);
alert.initOwner(primaryStage)
和alert.initOwner(primaryStage.getOwner())
alert.initModality(Modality.WINDOW_MODAL)
和alert.initModality(Modality.APPLICATION_MODAL)
alert.initStyle(StageStyle.***)
***是所有可能的样式。
我能够让警报和对话框保持最佳状态的唯一方法是调用alert.initStyle(StageStyle.UTILITY)
但是这会创建一个带有我不想要的十字按钮的窗口。理想情况下,我更喜欢没有额外按钮的带边框的窗户,或者一个未修饰的窗户,我应该能够设计风格以实现边框外观。
我已经读过类似的问题,其中使用Windows并不起作用,但Ubuntu会这样做。在这种情况下,我无法找到任何未解决的问题或解决方案。
我正在使用Java 8 Update 77。
答案 0 :(得分:0)
我遇到了类似的问题:警报在Windows 10的主要阶段前表现得非常好,但在Ubuntu上运行程序时却处于舞台之后。 alert.initOwner(primaryStage)
实际上为我解决了这个问题。