代码之家  ›  专栏  ›  技术社区  ›  Christian

如何获得真正可用的分辨率

  •  5
  • Christian  · 技术社区  · 15 年前

    具有

    Toolkit.getDefaultToolkit().getScreenSize()

    我知道屏幕大小。

    但通常这不是我自己程序的可用大小,因为在Mac上有一个菜单栏和一个图标栏。Windows没有IConBar。那么,如何获得真正的可用空间呢?

    2 回复  |  直到 15 年前
        1
  •  9
  •   Geoffrey Zheng    15 年前

    Java forum :

    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    Rectangle bounds = ge.getMaximumWindowBounds();
    

    现在您有了绑定SAN平台相关的桌面装饰。我周围没有Mac,所以我只验证它在WinXP/JDK6上工作。

    请注意,如果自动隐藏任务栏,则边界不包括任务栏,这是正确的。

        2
  •  1
  •   Matti Lyra    15 年前

    我不确定这是否可行,但请尝试使用graphicconfiguration/graphicsdevice。您可能无法获得一个边界框,该框可以在OSX上对停靠进行折扣,因为停靠区域仍然被视为屏幕空间。我可以在上面移动窗户。我也可以将停靠移动到屏幕的侧面而不是底部(Windows任务栏也是如此)。

    http://download.oracle.com/javase/6/docs/api/java/awt/GraphicsDevice.html