Как определить разрешение экрана, на котором находится JFrame?

Я хочу определить разрешение экрана, на котором сейчас отображается мое Java-приложение.

Например, допустим, у пользователя есть мое Java-приложение на втором мониторе, и два монитора имеют следующие характеристики: основной 1024x1280 (вертикальное вращение), вторичный 1280x1024 (альбомное вращение).

Я хочу, чтобы высота моего всплывающего списка JList соответствовала удобной границе второго монитора. Я не получу правильных результатов от Toolkit # getDefaultToolkit () # getScreenSize (), так как это даст мне размеры с основного монитора.

Я мог бы получить размер всех мониторов с помощью GraphicsEnvironment # getScreenDevices (), но как мне определить, на каком из этих устройств работает мой JFrame?

Спасибо за ваше время.

-Деннис


person D-Klotz    schedule 09.08.2013    source источник
comment
Возьмите границы прямоугольника кадра и определите, входит ли он в границы прямоугольника любого из GraphicsDevices. Для примера   -  person MadProgrammer    schedule 10.08.2013


Ответы (2)


Предполагая, что frame - это ваш JFrame, вы можете просто использовать следующий код для получения GraphicsDevice:

frame.getGraphicsConfiguration().getDevice();

Оттуда вы можете получить всю информацию об экране, на котором отображается рамка.

person Guillaume Polet    schedule 09.08.2013
comment
Спасибо. Это действительно то, что я искал. - person D-Klotz; 10.08.2013

проверьте эту ссылку. ответ уже объяснен здесь. (Принятый ответ) Java Toolkit: получение размера второго экрана

вы можете перейти от JFrame к его устройству с помощью метода getGraphicsConfigration (), который возвращает GraphicsConfiguration, имеющий getDevice ()

person Kinaan Khan Sherwani    schedule 09.08.2013
comment
Спасибо. Я пропустил это во время поиска. - person D-Klotz; 10.08.2013