我有一個帶有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