Windows 10任务栏位置

时间:2018-06-07 13:01:32

标签: java javafx

我想知道我的javafx项目的任务栏位置。意味着我想知道任务栏是在顶部,底部,左侧还是右侧。 当任务栏位置发生变化时,我想在代码中执行某些操作。我该怎么办?

2 个答案:

答案 0 :(得分:2)

以下方法仅使用JavaFX API。

我用Win 10& amp;当允许任务栏隐藏动态显示时,它可以工作但不会被触发(在这种情况下,它总是认为边界等于可视边界)。

由于清单是由非公开的Toolkit API实现的,因此它可能无法在其他操作系统上正常运行。

ObservableList<Screen>的(可视)边界发生变化时,Screen.getScreens()返回的Screen会发生变化。根据{{​​1}}和bounds之间的差异,此事实可用于确定主屏幕中任务栏的一侧:

visualBounds

答案 1 :(得分:0)

您可以使用java.awt.Toolkit获取给定屏幕设备的屏幕插图。

对于主屏幕:

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice defaultScreenDevice = ge.getDefaultScreenDevice();
GraphicsConfiguration defaultConfiguration = defaultScreenDevice.getDefaultConfiguration();
Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(defaultConfiguration);

我的主屏幕的插入(使用Windows 10):

  

java.awt.Insets中[顶= 0,左= 0,底部= 40,右= 0]

因此,任务栏的高度为40像素,位于屏幕的底部。