如何在java中获取当前监视器的宽度和高度

时间:2014-12-11 09:29:52

标签: java swing screen-size multiple-monitors

如何在java中的多监视器场景中获取当前监视器的屏幕宽度和高度。

GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
    int width = gd.getDisplayMode().getWidth();
    int height = gd.getDisplayMode().getHeight();

即使我在其他监视器中运行,这段代码也会给出同一监视器的宽度和高度。

如何获得当前显示器的宽度和高度。请帮忙。

4 个答案:

答案 0 :(得分:1)

这取决于当前屏幕的含义。如果它是鼠标光标所在的屏幕,则可以使用以下设备获取设备:

GraphicsDevice gd = MouseInfo.getPointerInfo().getDevice();

另一方面,如果您需要窗口所在的设备,请使用:

GraphicsDevice gd = frame.getGraphicsConfiguration().getDevice();

从中可以获得尺寸:

int width = gd.getDisplayMode().getWidth();
int height = gd.getDisplayMode().getHeight();

答案 1 :(得分:0)

除了评论之外,您还可以获得所有可用的监视器:

GraphicsDevice.getLocalGraphicsEnvironment().getScreenDevices()

并了解他们的决议

答案 2 :(得分:0)

尝试:

GraphicsDevice gd[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();

然后你将把你的所有显示器放在阵列中。

现在获得宽度和高度:

int width = gd[n].getDisplayMode().getWidth();
int height = gd[n].getDisplayMode().getHeight();

答案 3 :(得分:0)

您可以使用Toolkit获取屏幕尺寸,如下所示:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double width = screenSize.getWidth();
double height = screenSize.getHeight();

对于多屏试试以下:

GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
int width = gd.getDisplayMode().getWidth();
int height = gd.getDisplayMode().getHeight();