当新的显示器添加到已经运行JRE实例的PC或笔记本电脑时,我们发现刚添加的显示器不被视为较大虚拟屏幕的扩展,而是JRE创建两个独立的虚拟屏幕(每个都有(0,0)作为左上角坐标,由与使用getScreenDevices()检索的设备列表关联的GraphicsConfiguration指示)。重新启动JRE可以解决问题(即,现在将两个屏幕视为具有单独起始坐标的较大虚拟屏幕的一部分)。
我的问题是:在以下情况下,如何正确确定当前显示Java Applet的监视器(GraphicsDevice)实例: 1.用户在他的PC /笔记本电脑上添加了一个显示器 2.用户拖动运行Applet的浏览器窗口,并在新屏幕中重新定位它。 3.任何JDialog或其他框架都需要在新屏幕中打开,但只有在我们能够自动检测重新定位Applet的屏幕实例时才能这样做。
如前所述,仅仅根据各种屏幕的图形配置边界检查Java Applet的位置是行不通的,因为边界都从(0,0)开始。
我不希望我的用户或客户因为添加了新的监视器而必须杀死并重新启动他们的Java.exe,以便JRE可以将屏幕实例正确地融合到一个虚拟屏幕中。有什么想法吗?