Дисплей изменения, используемый для запуска Eclipse - PullRequest
5 голосов
/ 01 сентября 2010

Я разрабатываю Java-приложение на основе Swing в Eclipse для Windows XP. У меня двойная настройка монитора.

Я хочу, чтобы программа запускалась на мониторе, отличном от того, на котором я запускаю Eclipse. Как я могу настроить конфигурацию отладки, чтобы это произошло?

Ответы [ 4 ]

2 голосов
/ 23 сентября 2010

Когда открывается новый фрейм, по умолчанию используются координаты 0,0.Точно, где это находится, зависит от расположения монитора вашей операционной системы.Как правило, 0,0 будет верхним левым углом основного монитора.

Решение вашей проблемы - запустить Eclipse на дополнительном мониторе, чтобы приложения открывались на другом (основном) мониторе,Вам на самом деле не нужно перемещать Eclipse, чтобы сделать это.Зайдите в настройки монитора вашей операционной системы и переключите основной монитор на монитор, на котором вы хотите запустить приложение.Eclipse теперь будет работать на дополнительном мониторе.

Теперь ваш новый кадр будет открыт на другом мониторе, и вы не изменили код в процессе, только настройки конфигурации вашей операционной системы.

2 голосов
/ 21 сентября 2010

Это немного зависит от того, как вы настроили свой второй монитор. Для моего ответа я предполагаю, что вы добавили его как «расширение» на рабочий стол (чтобы вы могли перемещать окна между ними, перетаскивая их мышью).

В этом режиме ваш рабочий стол становится больше. Чтобы увидеть это, позвоните GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds.

Ширина должна быть суммой ширины двух ваших мониторов, а высота должна быть больше двух высот.

Обратите внимание, что координата x может быть <0 (это происходит, если вы делаете правильный монитор по умолчанию). </p>

Чтобы переместить ваше окно на другой монитор, просто используйте позицию (setPosition()) с соответствующим значением и передайте эту позицию в качестве опции программе. Или сохраните текущую позицию как узел настроек и снова откройте окно в том же месте, когда приложение снова запустится.

Если ваши мониторы настроены независимо, вам следует обратиться к GraphicsEnvironment.getScreenDevices() API.

0 голосов
/ 20 сентября 2010

Вероятно, вы можете достичь такого поведения программно.Я уверен, что вы можете Google и найти примеры того, как открыть окно на втором мониторе.Если это то, что вам нужно только во время отладки, добавьте переключатель в конфигурацию запуска (точнее, аргумент времени выполнения JVM) и проверьте переключатель (System.getProperty) при запуске вашей программы.

0 голосов
/ 01 сентября 2010

Я думаю, ты не можешь этого сделать.Единственное решение, которое я нашел, - это переместить программу с первого дисплея на второй вручную, а затем закрыть ее в этом положении (с помощью кнопки закрытия, а не красной кнопки завершения консоли, которые жестоко останавливают виртуальную машину без сохранения чего-либо).Затем при следующем перезапуске запуск вашей программы должен появиться на втором дисплее.Чтобы это решение работало, ваша конфигурация запуска не должна очищать рабочую область и конфигурацию при каждом запуске, чтобы сохранить расположение экрана программы.

См. Монитор открытия RCP для связанных вещейв приложении RCP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...