Java - Mac 上的屏幕尺寸

标签 java jframe jpanel toolkit

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

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

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

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

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

最佳答案

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

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

来自docs :

Returns the maximum bounds for centered Windows. These bounds account for objects in the native windowing system such as task bars and menu bars.

关于Java - Mac 上的屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7083410/

相关文章:

java - firebase mp3播放器中的暂停功能

java - 具有通用方法的 Mockito

java - 如何使用通用 JPanel() 管理 BorderLayout

java - 将 JLayeredPane 添加到 JPanel

java - 在面板顶部添加面板并且两者都可见

java - 为什么会出现空指针异常?

java - 在 Java 中将 double 组转换为字节数组

java - 除非由类内的主要方法创建,否则 JFrame 不会加载所有组件

java - JTextArea 不会在 MigLayout 中垂直更改大小

java - 添加新的 jpanel 后出现 IndexOutOfBound 异常