【发布时间】:2009-02-22 11:10:13
【问题描述】:
有一个扩展 JDialog 的类。它完全在 EDT 上初始化(以防万一)。 现在,
public PropsDialog (JFrame parentFrame)
{
super(parentFrame);
// boring
pack();
setLocationRelativeTo(getParent());
setVisible(true);
}
导致对话框出现在最左角,然后跳转到它的预期位置。 我做错了吗?
【问题讨论】:
-
在 setLocationRelativeTo() 之后调用 pack() 会发生什么?
-
从同一个角落跳跃,最终没有正确地居中于父框架(这是正确的)。似乎是一个错误,因为我只在内置的 LaFs 上得到了这种行为。合成器按预期工作。
-
在 setLocationRelativeTo() 之前调用 setVisible(false) 怎么样?
-
非常感谢您的努力。谢谢。不幸的是,这并没有改变任何事情。我想我最终会在 Win、Linux 和 Mac 下检查不同的 JDK,看看行为是否相同。