gpt4 book ai didi

java - GraphicsConfiguration.getDevice() 返回错误的监视器 ID

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:20 25 4
gpt4 key购买 nike

我必须维护的遗留应用程序有一个奇怪的行为。在启动时,应用程序的 JFrame 被移动到它最近关闭的位置(即使在多显示器设置下也能正常工作)。
当 JFrame 移动到辅助监视器(通过调用 setLocation(x, y) 完成)并且在调用 setRelativeTo(mainFrame) 后显示 JDialog 时,JDialog 出现在主显示器。

必须将主显示器上的主机拖动到辅助显示器上才能避免出现问题。

我发现,即使它显示在辅助监视器。当我将主框架拖到主显示器并返回到辅助显示器时,方法返回\Display1。

现在我有两个问题:

  1. 有没有办法告诉应用程序它位于哪个监视器上?
  2. 我已尝试使用 JFrame 和 JDialog 创建一个简单示例。不幸的是,它的行为符合预期,我无法重现该问题。您是否有关于在我的应用程序中查找可能导致此行为的内容的提示?

非常感谢
库库

最佳答案

经过更多研究后,我发现我必须调用 mainframe.setVisible(false); 并再次调用 mainframe.setvisible(true);
这足以让 mainframe.getGuiConfiguration.getDevice() 返回正确的设备 ID。

我知道,这并不是原始问题的真正解决方案,但如果其他人遇到相同的行为,它可能会有所帮助。

无论如何,仍然非常感谢问题的解释/真正的解决方案。

关于java - GraphicsConfiguration.getDevice() 返回错误的监视器 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17916542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com