如何确定JFrame所在屏幕的分辨率?

时间:2013-08-09 20:03:39

标签: java swing screen resolution

我希望确定我的java应用程序当前显示的屏幕分辨率。

例如,假设用户的第二台显示器上有我的java应用程序,两台显示器的规格为:primary 1024x1280(Portrait rotation),secondary 1280x1024(Landscape rotation)。

我想让弹出式JList的高度适合第二个显示器的舒适范围。我不会从Toolkit#getDefaultToolkit()#getScreenSize()得到正确的结果,因为这会给我主监视器的尺寸。

我可以使用GraphicsEnvironment#getScreenDevices()来获取所有显示器的大小,但如何确定我的JFrame在中运行的这些设备中的哪一个?

感谢您的时间。

丹尼斯

2 个答案:

答案 0 :(得分:3)

假设frameJFrame,您只需使用以下代码检索GraphicsDevice

frame.getGraphicsConfiguration().getDevice();

从那里,您可以获得显示框架的屏幕的全部信息。

答案 1 :(得分:2)

查看此链接。这里已经解释了答案。 (接受的答案) Java Toolkit Getting Second screen size

  

你可以通过getGraphicsConfigration()方法从JFrame到它的设备,该方法返回一个具有getDevice()的GraphicsConfiguration