2014-11-06 1 views
1

Предположим, у меня есть два монитора.Получить координаты x и y второго монитора

Я хочу отобразить окно в верхнем левом углу второго экрана, имеющего такой же широкий, как второй экран.

Я знаю, что могу получить размер с помощью

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
GraphicsDevice[] gs = ge.getScreenDevices(); 

Однако я понятия не имею, как бы я идти о получении х и у координаты второго монитора. Кто-нибудь может помочь? Никакие поиски не помогли мне.

+0

несколько раз, как получить высоту + вес для/из системы TaskBar (подсказка - полный экран) – mKorbel

+0

_ «Никакие поиски не помогли мне» _ Забавно, что вы говорите, что координаты x и y приведены на примере javadoc of [GraphicsDevice] (http://docs.oracle.com/javase/8/docs/api/java/awt/GraphicsDevice.html) в верхней части страницы. – icza

+0

@icza спасибо. Я отвечу на вопрос и займусь. К сожалению, этого не было видно в документации. Если вы не хотите опубликовать ответ, а затем я буду принимать ваши как правильные. – Quillion

ответ

1

Ничего сложного, и вы почти ответили на свой вопрос.

Вот пример, который должен дать вам совет:

public class ScreenBoundsExample 
{ 
    public static void main (String[] args) 
    { 
     final GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); 
     final GraphicsDevice[] devices = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices(); 
     for (final GraphicsDevice d : devices) 
     { 
      if (d == device) 
      { 
       System.out.println ("Main screen bounds: " + d.getDefaultConfiguration().getBounds()); 
      } 
      else 
      { 
       System.out.println ("Secondary screen bounds: " + d.getDefaultConfiguration().getBounds()); 
      } 
     } 
    } 
} 

И, конечно, каждый экран содержит оценки исходного (х, у) координат.

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

+0

Спасибо :) Я надеялся, что icza опубликует это как ответ, чтобы я мог принять его. Но да, вы ответили за меня. Я совершенно не знал, что границы содержат координаты x и y. – Quillion