swing Java多监视器问题
我正在开发一个应用程序,其中三个监视器配置一个系统。两个监视器具有不同的显示内容,这是使用java GraphicsEnvironment
和GraphicsDevice
类实现的。现在,连接到系统的第三个监视器应该显示前两个监视器之一(Display0或Display1)的内容,通过这两个监视器可以查看操作。(该显示器的工作原理应与远程访问软件的工作原理相同,例如vnc viewer)
每个图形设备都有自己的JFrame要显示,我正在向这些设备显示我的JC组件,但我不知道第三个监视器如何处理。Java是否提供了任何API或机制,以便我可以将一个监视器上的操作显示到另一个监视器上?如有任何想法/见解,将不胜感激
问候
尼基
# 1 楼答案
只读访问并不难。让我们调用frameA和frameB中的两个JFrame,以及新监视器frameC上的frame
可以将A或B的内容呈现为C,如下所示:
然后,定期运行以下代码:
如果你真的想从frameC控制frameA/B,那就更难了。我可能会从java.awt.Robot开始。Java2S有一些examples demonstrating the use of Robot
控制“远程”帧最困难的部分是将frameC中的鼠标事件转换为frameA/B。您需要计算图像的偏移量,然后将其转换回另一帧的内容窗格
注:SwingUtilities有几种方法可以帮助翻译坐标