【发布时间】:2011-02-14 15:00:11
【问题描述】:
我正在开发一个基于 Java swing 的应用程序,它将 3 个不同的主要 JFrames 并且每一个都必须显示在系统中存在的三个显示监视器之一上。此外,应用程序将能够在特定的显示监视器断开或重新连接时发出警报。
每个 main-JFrame 必须显示在特定的显示屏上。这是由于这些监视器将要放置的位置。更像是一个销售点场景,其中一个监视器可以为销售人员显示内容,为客户显示其他内容,为安全人员显示其他内容。
现在的主要问题是如何知道哪个显示器是哪个。我通过从 Java 中调用 VBScript 来获取每个监视器的序列号,从而解决了这个问题。
但还有一个问题是如何在Java中映射监视器的序列号信息。在 Java 中,我可以得到与每个监视器相对应的是一个 java.awt.GraphicsDevice 实例,我不知道如何将序列号信息映射到这个实例,因为唯一的方法是让这些 java.awt.GraphicsDevice 实例是 GraphicsEnvironment。 getLocalGraphicsEnvironment().getScreenDevices() 并且此函数不确保每次调用该函数时都会以特定顺序返回设备。
期待中的感谢
【问题讨论】:
-
这里也有类似的问题:stackoverflow.com/questions/10888131/…
-
在选择镜像显示的情况下,此方法将只返回一个屏幕。你知道这个的任何解决方案吗??