2009-05-18 43 views
18

Tôi có hai màn hình có kích thước khác nhau, được kết nối với nhau bằng cách sử dụng (Tôi tin) TwinView.Java: Nhận độ phân giải của một/tất cả các màn hình có sẵn (thay vì toàn bộ màn hình)?

tôi đã cố gắng

System.out.println(Toolkit.getDefaultToolkit().getScreenSize()); 

và nhận

java.awt.Dimension[width=2960,height=1050] 

đó là đúng nếu bạn đếm cả hai màn hình cùng.

Thay vì điều này, tôi muốn để có thể đạt được một các nội dung sau:

  • nhận được độ phân giải của màn hình hiện tại
  • nhận được độ phân giải của màn hình chính

Trả lời

21

bạn sẽ muốn sử dụng GraphicsEnvironment.

Cụ thể, getScreenDevices() trả về một mảng của GraphicsDevice các đối tượng mà từ đó bạn có thể đọc chiều rộng/chiều cao của chế độ hiển thị.

Ví dụ:

GraphicsEnvironment g = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
GraphicsDevice[] devices = g.getScreenDevices(); 

for (int i = 0; i < devices.length; i++) { 
    System.out.println("Width:" + devices[i].getDisplayMode().getWidth()); 
    System.out.println("Height:" + devices[i].getDisplayMode().getHeight()); 
} 
+0

thank you very much! –

Các vấn đề liên quan