我想知道我的javafx项目的任务栏位置。意味着我想知道任务栏是在顶部,底部,左侧还是右侧。 当任务栏位置发生变化时,我想在代码中执行某些操作。我该怎么办?
答案 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像素,位于屏幕的底部。