جافا:هل تريد الحصول على دقة شاشة واحدة/جميع الشاشات المتاحة (بدلاً من سطح المكتب بأكمله)؟

StackOverflow https://stackoverflow.com/questions/877570

سؤال

لدي شاشتان مختلفتان الحجم، متصلتان معًا باستخدام (على ما أعتقد) TwinView.

حاولت

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

واحصل على

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

وهذا صحيح إذا قمت بحساب كلا الشاشتين معاً.

بدلاً من هذا، أود أن أكون قادراً على الإنجاز واحد من التالي:

  • الحصول على دقة الشاشة الحالية
  • الحصول على دقة الشاشة الرئيسية
هل كانت مفيدة؟

المحلول

سوف ترغب في استخدام بيئة الرسومات.

على وجه الخصوص، تقوم getScreenDevices() بإرجاع مجموعة من جهاز الرسومات الكائنات التي يمكنك من خلالها قراءة عرض/ارتفاع وضع العرض.

مثال:

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());
} 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top