Java: Ottenere risoluzioni di uno / tutti i monitor disponibili (invece di tutto il desktop)?
-
22-08-2019 - |
Domanda
Ho due monitor di diverse dimensioni, collegati tra loro usando (credo) TwinView.
Ho cercato
System.out.println(Toolkit.getDefaultToolkit().getScreenSize());
e ottenere
java.awt.Dimension[width=2960,height=1050]
che è vero se si contano entrambi i monitor insieme .
Al posto di questo, vorrei poter raggiungere una di quanto segue:
- ottenere la risoluzione del monitor corrente
- ottenere la risoluzione del monitor principale
Soluzione
si vorrà utilizzare il GraphicsEnvironment .
In particolare, getScreenDevices () restituisce un array di GraphicsDevice oggetti da cui si può leggere la larghezza / altezza dalla modalità di visualizzazione.
Esempio:
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());
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow