java如何取得显示器的大小

java如何取得显示器的大小

作者:Rhett Bai发布时间:2026-02-14阅读时长:0 分钟阅读次数:1

用户关注问题

Q
怎样在Java中获取屏幕的分辨率?

我想用Java代码获取当前显示器的宽度和高度,应该怎么做?

A

使用Toolkit类获取屏幕分辨率

可以通过java.awt.Toolkit类的getScreenSize()方法来获取屏幕的尺寸。示例如下:

import java.awt.Dimension;
import java.awt.Toolkit;

public class ScreenSizeExample {
    public static void main(String[] args) {
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int width = screenSize.width;
        int height = screenSize.height;
        System.out.println("屏幕宽度: " + width);
        System.out.println("屏幕高度: " + height);
    }
}

这样可以得到屏幕的宽度和高度(以像素为单位)。

Q
Java中如何处理多显示器环境以获取每个屏幕的大小?

我的电脑连接了多个显示器,想用Java分别获取每个显示器的分辨率,有办法吗?

A

使用GraphicsEnvironment和GraphicsDevice获取多个屏幕尺寸

Java通过java.awt.GraphicsEnvironment类可获取所有显示设备的信息。示例代码如下:

import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.DisplayMode;

public class MultiScreenSize {
    public static void main(String[] args) {
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice[] gd = ge.getScreenDevices();
        for (int i = 0; i < gd.length; i++) {
            DisplayMode dm = gd[i].getDisplayMode();
            int width = dm.getWidth();
            int height = dm.getHeight();
            System.out.println("显示器 " + (i + 1) + ": 宽度=" + width + ", 高度=" + height);
        }
    }
}

此代码将依次打印每个显示屏的宽度和高度。

Q
用Java获取屏幕尺寸时会受操作系统限制吗?

不同操作系统下,用Java获取的屏幕大小是否会出现差异?

A

Java获取屏幕大小的跨平台兼容性说明

Java的AWT库设计时考虑了跨平台,getScreenSize()通常能返回正确的屏幕尺寸数据,但有些操作系统或多显示器配置可能影响结果。例如,某些Linux发行版的窗口管理器或高DPI缩放设置可能让返回的尺寸与用户预期不符。一般建议结合具体环境测试,或使用GraphicsDevice相关API来获得更准确的多显示器信息。