在多监视器系统中识别正在运行的监视器小程序

时间:2012-12-21 17:59:08

标签: java applet position screen awt

我有一个 Applet ,其中一个按钮在浏览器中运行,单击该按钮时会打开一个JFrame。我想将JFrame位置设置为浏览器运行的任何监视器的屏幕中心。因此,如果它们只有一个监视器,则JFrame将在此屏幕的中心打开。如果他们有两个显示器并且浏览器在左侧监视器中,则单击该按钮将打开左侧监视器中心的JFrame。如果浏览器位于右侧监视器显示屏上,则单击该按钮将导致JFrame在右侧监视器显示屏的中央打开。

目前我正在使用: -

Toolkit.getDefaultToolkit()获取Toolkit对象,然后调用Toolkit.getScreenSize()获取屏幕大小,然后从中计算出中心位置。无论浏览器位于何处,它始终基于左侧监视器。

另外,我知道如果用户的显示器之间的分辨率不同,这可能会更加复杂。

3 个答案:

答案 0 :(得分:2)

获取GraphicsConfiguration of the JApplet,然后将其传递给constructor of your JFrame。您还可以使用GraphicsConfiguration获取bounding rectangle进行居中。

答案 1 :(得分:1)

GraphicsDevice将为您提供所有屏幕设备的信息。

它旨在处理您需要的确切方案,只需查看示例代码即可。

答案 2 :(得分:0)

对于居中,通常可以使用JFrame。setLocationRelativeTo(null)。也许它以默认屏幕为中心?如果参数是小程序怎么办?