Это немного зависит от того, как вы настроили свой второй монитор. Для моего ответа я предполагаю, что вы добавили его как «расширение» на рабочий стол (чтобы вы могли перемещать окна между ними, перетаскивая их мышью).
В этом режиме ваш рабочий стол становится больше. Чтобы увидеть это, позвоните GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds
.
Ширина должна быть суммой ширины двух ваших мониторов, а высота должна быть больше двух высот.
Обратите внимание, что координата x может быть <0 (это происходит, если вы делаете правильный монитор по умолчанию). </p>
Чтобы переместить ваше окно на другой монитор, просто используйте позицию (setPosition()
) с соответствующим значением и передайте эту позицию в качестве опции программе. Или сохраните текущую позицию как узел настроек и снова откройте окно в том же месте, когда приложение снова запустится.
Если ваши мониторы настроены независимо, вам следует обратиться к GraphicsEnvironment.getScreenDevices()
API.