📅  最后修改于: 2023-12-03 15:16:03.816000             🧑  作者: Mango
在 JavaFX 中,获取屏幕大小是非常容易的。关键的类是 Screen
和 Screen.Primary
。
以下代码演示了如何使用 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
类获取主屏幕大小:
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 应用程序)。