我有一个 Applet ,其中一个按钮在浏览器中运行,单击该按钮时会打开一个JFrame。我想将JFrame位置设置为浏览器运行的任何监视器的屏幕中心。因此,如果它们只有一个监视器,则JFrame将在此屏幕的中心打开。如果他们有两个显示器并且浏览器在左侧监视器中,则单击该按钮将打开左侧监视器中心的JFrame。如果浏览器位于右侧监视器显示屏上,则单击该按钮将导致JFrame在右侧监视器显示屏的中央打开。
目前我正在使用: -
Toolkit.getDefaultToolkit()
获取Toolkit对象,然后调用Toolkit.getScreenSize()
获取屏幕大小,然后从中计算出中心位置。无论浏览器位于何处,它始终基于左侧监视器。
另外,我知道如果用户的显示器之间的分辨率不同,这可能会更加复杂。
答案 0 :(得分:2)
获取GraphicsConfiguration
of the JApplet
,然后将其传递给constructor of your JFrame
。您还可以使用GraphicsConfiguration
获取bounding rectangle进行居中。
答案 1 :(得分:1)
GraphicsDevice
将为您提供所有屏幕设备的信息。
它旨在处理您需要的确切方案,只需查看示例代码即可。
答案 2 :(得分:0)
对于居中,通常可以使用JFrame。setLocationRelativeTo(null)。也许它以默认屏幕为中心?如果参数是小程序怎么办?