java:有什么方法可以检测显示配置的变化吗?

时间:2011-03-14 18:20:39

标签: java swing

我的一位同事希望我的Swing应用能够正确地适应第二台显示器的移除。

除了轮询重复计算虚拟边界之外,有没有办法获得此通知? (根据http://download.oracle.com/javase/6/docs/api/java/awt/GraphicsConfiguration.html中的代码示例)

1 个答案:

答案 0 :(得分:3)

嗯,狡猾的。因为GraphicsConfiguration类不会给我们任何听众,所以我只有几个选择:

  1. (如果是Windows)使用JNI接口 Windows用于检测显示设置 改变并转发它们到Java。 这将是 SystemEvents :: DisplaySettingsChanged 事件

  2. 创建一个简单的轮询线程 - 检索结果的计时器 Toolkit.getDefaultToolkit()。getScreenSize() 正如你之前所说的那样。