JDialog中JComponents的显示延迟?

时间:2011-03-08 05:22:52

标签: java swing

每当我对JComponents进行小的更改时,无论是大小还是对齐,当试图显示

- >显示一个空的对话框,当我尝试使用鼠标放大JDialog的大小时显示组件......

- >所以我禁用了setResize()属性......

- >仍无效果......

帮助我....

谢谢

2 个答案:

答案 0 :(得分:1)

有几件事可能导致这种情况:

您使用的布局管理器出了问题:更改组件后,请尝试在内容窗格上调用revalidate()repaint()。并确保您对Swing Event Dispatch线程中的所有组件进行了更改。您可以致电SwingUtitlites.invokeLater()

如果你在带有compiz的linux机器上,java有时无法重绘帧。这是一个只有部分修复的旧bug。尝试使用metacity,看看是否可以重现问题。

答案 1 :(得分:1)

我猜你的代码看起来像这样:

dialog.pack();
dialog.setVisible( true );
dialog.add( someComponent );

代码应为:

dialog.add( someComponent );
dialog.pack();
dialog.setVisible( true );

那就是你需要在对话框之前将它们添加到对话框中。