我的问题很简单,我相信我只是遗漏了一些小东西,但我不知道它是什么。
我知道如何使用 GraphicsEnvironment、GraphicsConfiguration 和 GraphicsDevice。我知道如何获取所有显示设备等。我知道如何显示到特定设备。
我唯一想不通的是用户的桌面是否被扩展、复制或显示到单个监视器?
它GraphicsDevice
不一定等同于硬件设备,而是可以由 Java 应用程序使用的“显示器”。因此,当用户的桌面被复制或显示单个显示器时,即使是否连接了第二个显示器(硬件), getScreenDevices
(来自GraphicsEnvironment
)也只显示一个 GraphicsDevice。因此,我相信您将无法使用此 Java API 识别这些设置。
您的解决方案可能需要 JNI 代码。轻量级 Java 游戏库项目有类似的东西,看看 Display 类。