有一个扩展 JDialog 的类。它完全在 EDT 上初始化(以防万一)。 现在,
public PropsDialog (JFrame parentFrame)
{
super(parentFrame);
// boring
pack();
setLocationRelativeTo(getParent());
setVisible(true);
}
导致对话框出现在最左角,然后跳转到其预期位置。 我做错了吗?
最佳答案
您能否提供一个工作示例和更多信息?例如,您在什么操作系统上进行测试? Swing 之间存在一些差异,例如没有父级的 JDialogs 在 gnome 面板中获得条目,但在 Windows 任务栏中不获得条目以及类似的东西。
其次,我猜想,在调用 setLocationRelativeTo 之前,您的 JDialog 是可见的,也许是通过您注释为“无聊”的部分中的某种程度。我建议你快速打洞
System.out.println(isVisible());
在 setLocationRelativeTo 之前进入您的代码,以防万一...
关于java - 为什么 JDialog 'jump' 在 setLocationRelativeTo() 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/574746/