Java: Werden Auflösungen von einer / alle verfügbaren Monitore (anstelle des gesamten Desktop)?

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

Frage

Ich habe zwei unterschiedlich große Monitore, miteinander verbunden mit (glaube ich) Twinview.

Ich habe versucht,

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

und bekommen

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

was wahr ist, wenn Sie beide Monitore zählen zusammen .

Statt dessen würde Ich mag Lage sein, Erreichen einer der folgenden Optionen:

  • Erste Auflösung des aktuellen Monitors
  • Erste Auflösung des Hauptmonitors
War es hilfreich?

Lösung

Sie die GraphicsEnvironment .

Insbesondere getScreenDevices () gibt einen Array von Graphics Objekte, aus denen Sie die Breite / Höhe des Anzeigemodus lesen kann.

Beispiel:

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());
} 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top