Подтвердить что ты не робот

Java: получение разрешений одного/всех доступных мониторов (вместо всего рабочего стола)?

У меня есть два монитора разного размера, соединенные вместе с использованием (я считаю) TwinView.

Я пробовал

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

и получим

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

что верно, если вы считаете оба монитора вместе.

Вместо этого я хотел бы получить один из следующего:

  • получение разрешения текущего монитора
  • получение разрешения основного монитора
4b9b3361

Ответ 1

вы захотите использовать 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());
}