我有一个奇怪的行为,我必须维护一个遗留应用程序。启动时,应用程序的JFrame被移动到最近关闭的位置(即使在多显示器设置下也可以正常工作)。
当JFrame移动到辅助监视器(通过调用setLocation(x, y)
完成)并在调用setRelativeTo(mainFrame)
后显示JDialog时,JDialog出现在主监视器上。
必须将主显示器上的大型机拖动到辅助显示器上,以避免出现问题。
我发现,即使在辅助监视器上显示应用程序启动(即“主显示”afaik),调用mainFrame.getGraphicsConfiguration().getDevice().getIDstring()
时返回\ Display0。当我将主框架拖动到主监视器并返回到辅助监视器时,方法返回\ Display1。
现在我有2个问题:GraphicsConfiguration.getDevice()返回错误的显示器ID
- 有没有办法告诉哪个监视它位于应用程序?
- 我试图用JFrame和JDialog创建一个简单的例子。不幸的是,它的行为如预期,我不能重现这个问题。你有什么暗示在我的应用程序中寻找,可能会导致此行为?
非常感谢您
klib
希望这[线程](http://stackoverflow.com/q/14273836/1057230),可能能够帮助一些问题:-)不要看OP的答案,我想这可以帮助一个位。 –