等到重新绘制组件完成

时间:2012-01-27 12:01:33

标签: java swing repaint

我有一个带有JPanel的ScrollPane,我在JPanel中添加了大约200个组件。知道我希望Vertical-Slider移动到特定的Component。 但问题是,当我打电话时:

myButton.scrollRectToVisible(myButton.getBounds());

getBounds()给我宽度和高度0。

显然,这些元素仍未涂漆。我怎么能等到repaint()方法完成所有工作后才能完成scrollRectToVisible()

编辑:

如果我给出了我的代码的简短示例,可能会有所帮助:

 addElementsToPanel(); //function where I add Elements to the Panel

 myJPanel.revalidate();
 myJPanel.repaint();

 myButton.scrollRectToVisible(myButton.getBounds());

1 个答案:

答案 0 :(得分:5)

SwingUtilities.invokeLater()