2014-02-28 3 views
1

모니터가 두 대 있는데 하나는 1440 * 900이며 다른 모니터는 1920 * 1080입니다.여러 디스플레이가있는 시스템에서 화면 위치를 감지하는 방법은 무엇입니까?

enter image description here

또는이 같은 : 나는 그런 여러 가지 방법으로 모니터를 다시 정렬 할 수 있습니다

enter image description here

또한, 나는뿐만 아니라 화면을 미러링 할 수 있습니다. 순수 Java 만 사용하여 이러한 정보를 어떻게 얻을 수 있습니까? 감사.

+1

디스플레이 드라이버에만 이러한 종류의 정보가 표시됩니다. 이것이 자바로 할 수있는 최선이라고 생각하십시오 : http://stackoverflow.com/questions/877570/java-getting-resolutions-of-one-all-available-monitors-instead-of-the-whole-de – Durandal

+0

@ JasonC 그래, 나는 정규 자바가 우리가 올린 것 이상으로 많은 것을 할 수 있다는 것을 모른다. 안드로이드는 그런 종류의 일에 대한 지원이 훨씬 더 많지만 '순수 자바'의 자격이 있다고 생각하지 않는다. – Durandal

+0

@Durandal 오, 좋은 링크. 예,'getDefaultConfiguration(). getBounds()'를 사용하여 모니터의 실제 상대 좌표를 얻을 수 있다는 점을 제외하고는 본질적으로 링크에있는 것을 할 수 있습니다. 원하는 경우 TedWong 게시 된 그림을 생성하기 위해 실제로 사용할 수 있습니다. –

답변

3

체크 아웃 GraphicsEnvironment.getScreenDevices(), 당신은 예를 들어, 각 장치에서 화면의 경계 사각형을 얻을 수 있습니다 :

GraphicsDevice[] screens = GraphicsEnvironment 
    .getLocalGraphicsEnvironment() 
    .getScreenDevices(); 

for (GraphicsDevice screen:screens) 
    System.out.println(screen.getDefaultConfiguration().getBounds()); 

을 내 듀얼 모니터 시스템에이 표시

java.awt.Rectangle[x=0,y=0,width=1600,height=900] 
java.awt.Rectangle[x=-320,y=-1200,width=1920,height=1200] 

당신은 그림을 getDefaultScreenDevice()을 사용할 수 있습니다 하나는 기본 모니터입니다. 유용 할 수도있는 GraphicsDevice에서 얻을 수있는 많은 다른 정보가 있습니다.