【发布时间】:2013-09-27 10:16:52
【问题描述】:
在 Windows 中,每个屏幕都分配了一个编号或标识,我认为这与我物理连接显示器电缆的方式有关。我的问题的关键是我可以重新配置这些屏幕,但它们会保留自己的身份。
Java 对GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices() 的调用将给我一个GraphicsDevice 数组。
如何将阵列中的屏幕顺序与窗口编号相关联?我会对跨平台解决方案感兴趣。
例如,我的 Windows 配置如下所示
但是返回的数组是这样的
screens[0] = relates to screen 2
screens[1] = relates to screen 3
screens[2] = relates to screen 1
NB我想使用的代码是这样的
frame.setLocation(
screens[i].getDefaultConfiguration().getBounds().x, frame.getY());
i 应该是物理编号,而不是数组中的位置(或者它的映射,如果你明白我的意思的话)。
【问题讨论】: