我有一个带有JPanel的ScrollPane,我在JPanel
中添加了大约200个组件。知道我希望Vertical-Slider移动到特定的组件。 但问题是,当我打电话:等到repaint组件完成
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());
为了尽快提供更好的帮助,请发布[SSCCE](http://sscce.org/)。 – 2012-01-27 12:04:33
你有没有试过等待一个'ComponentEvent.COMPONENT_SHOWN'事件? – Viruzzo 2012-01-27 12:06:20
不,我不。这个怎么做? – Leon 2012-01-27 13:08:07