Java Swing;Как мне сделать так, чтобы программа запускалась в самой правой руке экрана? - PullRequest
7 голосов
/ 24 сентября 2010

По умолчанию моя программа Swing запускается в верхней левой части монитора.Есть ли способ сделать так, чтобы он всплывал с правой стороны?

А как насчет двух мониторов?Могу ли я заставить его выскочить на нужный монитор?

Спасибо.

Карло

Ответы [ 3 ]

7 голосов
/ 24 сентября 2010

Существует множество вопросов / ответов об использовании GraphicsEnvironment для подобных действий.

Вы можете использовать GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices(), чтобы получить все мониторы, затем позвонить GraphicsDevice#getConfigurations, а затем GraphicsConfiguration#getBounds, чтобы узнать размер и местоположение каждого монитора, а затем использовать геометрию своей средней школы, чтобы найти "правильное""монитор.(Обратите внимание, что истинная настройка нескольких мониторов может разместить их в произвольном месте.)

4 голосов
/ 24 сентября 2010

Если вы не хотите закрывать панель задач, вам следует использовать getMaximumWindowBounds.

Java API

http://www.javabeginner.com/java-swing/java-jframe-class-example

Центрирование JFrame

По умолчанию Jframe отображается в верхнем левом углу экрана.Чтобы отобразить кадр в указанном месте, вы можете использовать метод setLocation (x, y) в классе JFrame.Этот метод помещает верхний левый угол рамки в местоположение (x, y).

Ваш псевдокод для верхнего правого угла выглядит примерно так:

yourJFrame.setLocation(
  GraphicsEnvironment.getMaximumWindowBounds().getWidth() - 
  yourJFrame.getWidth(), 0);
0 голосов
/ 24 сентября 2010

Для отображения в другом начальном местоположении, взгляните на JFrame.setLocation()

Для отображения на другом экране, посмотрите на доступную информацию из GraphicsEnvironment.getScreenDevices().

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