在大多数桌面环境中,您有一个或多个操作栏,有时还有停靠窗口。
最大化的窗口将使用屏幕侧面这些不同事物未使用的所有空间。这就是我所说的“可用空间”
是否有 java API 来检测可用空间,并在可能的情况下监听可能发生的变化?
基本思想是获取屏幕设备的引用并从屏幕边界中减去屏幕插图,如下所示
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
Rectangle bounds = new Rectangle(0, 0, 0, 0);
if (gd != null) {
GraphicsConfiguration gc = gd.getDefaultConfiguration();
bounds = gc.getBounds();
Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(gc);
bounds.x += insets.left;
bounds.y += insets.top;
bounds.width -= (insets.left + insets.right);
bounds.height -= (insets.top + insets.bottom);
}
现在,您的下一个问题将是确定您真正想要的屏幕设备,此示例简单使用默认屏幕;)