19

I have two different-sized monitors, connected together using (I believe) TwinView.

I tried

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

and get

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

which is true if you count both monitors together.

Instead of this, I would like to be able achieving one of the following:

  • getting resolution of the current monitor
  • getting resolution of the main monitor
RichieHindle
  • 272,464
  • 47
  • 358
  • 399
ivan_ivanovich_ivanoff
  • 19,113
  • 27
  • 81
  • 100

1 Answers1

23

you'll want to use the GraphicsEnvironment.

In particular, getScreenDevices() returns an array of GraphicsDevice objects from which you can read the width/height of the display mode.

Example:

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());
} 
Honza Zidek
  • 9,204
  • 4
  • 72
  • 118
z -
  • 7,130
  • 3
  • 40
  • 68