我正在使用JavaFX创建一个应用程序。我想知道是否有一种方法(除了估计坐标外)将窗口定位在系统托盘时间的顶部。现在,我的代码只是估计坐标并调整窗口的位置。

代码示例:

Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds();
stage.setX(primaryScreenBounds.getMinX() + primaryScreenBounds.getWidth() - 400);
stage.setY(primaryScreenBounds.getMinY() + primaryScreenBounds.getHeight() - 300);
stage.setAlwaysOnTop(true);


我想在系统托盘时钟上方的屏幕右下方显示窗口。
图片:

java - 在系统托盘上方放置窗口-LMLPHP

最佳答案

我认为这不是最佳答案,可能会有更好的方法。

Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds();
stage.setX(primaryScreenBounds.getMinX() + primaryScreenBounds.getMaxX() - stage.getWidth());
stage.setY(primaryScreenBounds.getMinY() + primaryScreenBounds.getMaxY() - stage.getHeight());
stage.setAlwaysOnTop(true);


结果看起来像这样:

java - 在系统托盘上方放置窗口-LMLPHP

07-24 09:16