Java - Mac上的屏幕尺寸

时间:2011-08-16 18:48:46

标签: java jframe jpanel toolkit

我有一个Java应用程序,为了找到要使用的屏幕大小,我执行以下操作,例如:

Toolkit.getDefaultToolkit().getScreenSize().width;
Toolkit.getDefaultToolkit().getScreenSize().height;

在我的应用程序中,我正在屏幕上绘制一些项目。为了确定位置,我将这些值用于宽度和高度(因为我想要在最底部的特定项目)。

但是,我发现它已经离开了屏幕,即使它的位置没有超过屏幕高度的值。

然后,我意识到我在Mac上,弹出Java应用程序的窗口从Mac顶部的小工具栏菜单下面开始(你知道,那个有时间的东西,电池等)。在我的申请中,我是否需要考虑该栏的高度?如果是这样,有没有一种简单的方法可以说“如果我在Mac上,那么从高处减去一些东西。”此外,该菜单栏的高度值是多少?

1 个答案:

答案 0 :(得分:4)

要获得最大可用区域,减去任务栏和菜单栏,请使用以下命令:

Rectangle rect = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();

来自docs

  

返回居中Windows的最大边界。这些界限是帐户   用于本机窗口系统中的对象,例如任务栏和菜单   杆