📜  javafx 获取屏幕大小 - Java (1)

📅  最后修改于: 2023-12-03 15:16:03.816000             🧑  作者: Mango

JavaFX 获取屏幕大小

在 JavaFX 中,获取屏幕大小是非常容易的。关键的类是 ScreenScreen.Primary

使用 Screen 类获取屏幕大小

以下代码演示了如何使用 Screen 类获取屏幕大小:

import javafx.stage.Screen;

public class Main {
    public static void main(String[] args) {
        System.out.println("Screens: " + Screen.getScreens().size());

        for (Screen screen : Screen.getScreens()) {
            System.out.println("DPI: " + screen.getDpi());
            System.out.println("Bounds: " + screen.getBounds());
            System.out.println("Visual Bounds: " + screen.getVisualBounds());
        }
    }
}

该代码会输出每个屏幕的 DPI、Bounds 和 Visual Bounds。Bounds 指整个屏幕的范围,包括任务栏,而 Visual Bounds 则不包括任务栏。注:有些系统会把任务栏也算进去,这时 Visual Bounds 与 Bounds 相同。

以上代码执行结果如下:

Screens: 1
DPI: 96.0
Bounds: Rectangle2D [0.0, 0.0, 1440.0, 900.0]
Visual Bounds: Rectangle2D [0.0, 0.0, 1440.0, 860.0]
使用 Screen.Primary 类获取主屏幕大小

以下代码演示了如何使用 Screen.Primary 类获取主屏幕大小:

import javafx.geometry.Rectangle2D;
import javafx.stage.Screen;

public class Main {
    public static void main(String[] args) {
        Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds();
        System.out.println("Primary Screen Bounds: " + primaryScreenBounds);
    }
}

以上代码会输出主屏幕可见范围的 Rectangle2D 对象。

执行结果如下:

Primary Screen Bounds: Rectangle2D [0.0, 0.0, 1440.0, 860.0]

以上就是 JavaFX 获取屏幕大小的方法。请注意,以上代码只适用于使用 JavaFX 的桌面应用程序,而不适用于其他类型的 Java 应用程序(如 Web 应用程序或 Android 应用程序)。