Java如何获取电脑分辨率?
以下是一个 Java 程序示例,用于获取电脑的主屏幕分辨率:
import java.awt.*;
public class ScreenResolutionExample {
public static void main(String[] args) {
// 获取默认的屏幕设备
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
// 获取屏幕的最大可显示区域
DisplayMode displayMode = device.getDisplayMode();
// 打印屏幕的宽度和高度
System.out.println("屏幕分辨率: " +Mode display.getWidth() + "x" + displayMode.getHeight());
}
}
另外,如果你需要获取所有屏幕的分辨率(比如在多显示器环境中),可以使用以下代码:
import java.awt.*;
public class ScreenResolutionExample {
public static void main(String[] args) {
GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] devices = graphicsEnvironment.getScreenDevices();
for (int i = 0; i < devices.length; i++) {
GraphicsDevice device = devices[i];
DisplayMode displayMode = device.getDisplayMode();
System.out.println("屏幕" + (i + 1) + "分辨率: " + displayMode.getWidth() + "x" + displayMode.getHeight());
}
}
}
在上述代码中:
• GraphicsEnvironment 类提供了对图形环境的访问,getLocalGraphicsEnvironment() 方法用于获取本地图形环境。
• getDefaultScreenDevice() 方法获取默认的屏幕设备,getScreenDevices() 方法获取所有屏幕设备。
• GraphicsDevice 表示一个图形设备,例如一个显示器。getDisplayMode() 方法获取该设备当前的显示模式,包括分辨率等信息。
• DisplayMode 类包含了显示模式的各种信息,如宽度、高度、位深度等,通过 getWidth() 和 getHeight() 方法可以获取屏幕的宽度和高度,即分辨率的两个维度。
需要注意的是,这些代码应该在 AWT(Abstract Window Toolkit,抽象窗口工具)包允许的上下文中执行,并且在某些情况下可能需要适当的权限,特别是在沙盒环境中运行(如 Applet 或 Java Web Start 应用)。