我有一個奇怪的行爲,我必須維護一個遺留應用程序。啓動時,應用程序的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的答案,我想這可以幫助一個位。 –