Java如何获取电脑分辨率?

发布于:2025-05-10 ⋅ 阅读:(13) ⋅ 点赞:(0)

以下是一个 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 应用)。


网站公告

今日签到

点亮在社区的每一天
去签到