Java:获取一个/所有可用显示器(而不是整个桌面)的分辨率?

标签 java user-interface swing awt

我有两个不同尺寸的显示器,使用(我相信)TwinView 连接在一起。

我试过了

System.out.println(Toolkit.getDefaultToolkit().getScreenSize());

得到

java.awt.Dimension[width=2960,height=1050]

如果您将两个显示器一起计算,则为真。

除此之外,我希望能够实现以下一个:

  • 获取当前显示器的分辨率
  • 获取主显示器的分辨率

最佳答案

您需要使用 GraphicsEnvironment .

特别是,getScreenDevices() 返回一个 GraphicsDevice 的数组您可以从中读取显示模式的宽度/高度的对象。

示例:

GraphicsEnvironment g = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] devices = g.getScreenDevices();

for (int i = 0; i < devices.length; i++) {
    System.out.println("Width:" + devices[i].getDisplayMode().getWidth());
    System.out.println("Height:" + devices[i].getDisplayMode().getHeight());
} 

关于Java:获取一个/所有可用显示器(而不是整个桌面)的分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/877570/

相关文章:

java - 为什么会抛出空点异常?

c++ - 在 C 中嵌入 XUL 后端

java - 使用外部程序从类路径(Jar 内)打开文件

java - 尝试从运行中重新绘制 Gui

java - Java 游戏速度变慢

java - 关于两个线程的同步

java - 类中的静态字段

java - 如何在 Android 上创建渐进式 JPEG 图像

user-interface - 如何在 egui (eframe) Rust 中制作自己的窗框

java - JAVA Swing 中具有窗口焦点的 JTable Cell