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

StackOverflow https://stackoverflow.com/questions/877570

Вопрос

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

Я пытался

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

и получить

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

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

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

  • получение разрешения текущего монитора
  • получение разрешения основного монитора
Это было полезно?

Решение

вы захотите использовать Графическое окружение.

В частности, getScreenDevices() возвращает массив Графическое устройство объекты, из которых вы можете считывать ширину / высоту режима отображения.

Пример:

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());
} 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top