java - 当附加(非模式)窗口关闭时,如何防止将主应​​用程序窗口置于前面。 Mac 操作系统、JavaFX

标签 java macos javafx

在 Mac OS 上,javaFX 应用程序窗口存在一个问题。当我有两个窗口并想要关闭其中一个窗口时,第二个窗口(主窗口)会将其置于前面。看起来关闭的窗口将焦点返回到主窗口。 我怎样才能阻止这种行为?

仅当需要显示某些通知时才会打开第二个窗口。

stage = new Stage();
stage.setResizable(false);
stage.initStyle(StageStyle.TRANSPARENT);
stage.initModality(Modality.NONE);
stage.setAlwaysOnTop(true);
stage.setWidth(width);
stage.setHeight(height);
stage.setScene(scene);
stage.show();

OS X v10.9.5 java 1.8.60

最佳答案

对我来说只有一种解决方案: 插入关闭窗口,将其移出屏幕边界,当我需要再次显示此窗口时 - 只需更改它的坐标即可。

P.s. 在 unix 系统上,KDE 不允许将窗口移出边界,在这些系统上,窗口需要移动到 0,0 位置并缩放到 width=1, height=1

如果有更好的解决方案欢迎提出

关于java - 当附加(非模式)窗口关闭时,如何防止将主应​​用程序窗口置于前面。 Mac 操作系统、JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32604873/

相关文章:

java - 在不下载 DTD 的情况下解析 XML 文档的标准方法

java - 如何标量乘数组

Java 8 : read files with special characters in name

macos - 读取 Magic Mouse 和 Apple 无线键盘的电池百分比

java - 在JAVAFX中将字符串行添加到TableView

JavaFX 将抽象类对象添加到 arraylist

java - 为什么我的解决方案无法找到二叉树的最小深度?

c++ - 为什么 Xcode 11 beta 不能使用 C++17 的 <filesystem> header ?

macos - 在命令行 xcodebuild 调用后分发 .app 文件

java - 如何通过更改标题(即旋转对象)来避免与边框或彼此之间的碰撞