私はこれを使います
public static Rectangle getScreenViewableBounds() {
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);
}
return bounds;
}
「安全な」画面境界を決定するため。これにより、画面のインセットが考慮され、「安全な」表示可能領域の長方形が生成されます...
更新しました
少しテストした後、(複数の画面を備えた Windows を使用している限り)GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds()
デフォルトのモニターで同じ結果が返されるようで満足しています。前述の方法の利点は、任意のデバイスの「安全な」境界を決定するために使用できることです。
Java の功績- Mac の画面サイズ