有一个扩展JDialog的类。它完全在EDT上初始化(以防万一)。 现在,
public PropsDialog (JFrame parentFrame)
{
super(parentFrame);
// boring
pack();
setLocationRelativeTo(getParent());
setVisible(true);
}
导致对话框出现在最左边的角落,然后跳到它的预期位置。 我做错了吗?
答案 0 :(得分:1)
您能提供一个工作示例和更多信息吗?例如,您正在测试哪种操作系统? Swing在某些方面有一些差异,例如没有父级的JDialogs在gnome面板中获取条目但不在Windows任务栏中获取条目等。
其次,我猜,在你调用setLocationRelativeTo之前你的JDialog是可见的,可能在你注释为“无聊”的部分内部。我建议你快速打一下
System.out.println(isVisible());
进入你的代码,就在setLocationRelativeTo之前,以防万一...