Подождите, пока перекраска компонента закончена - PullRequest
2 голосов
/ 27 января 2012

У меня есть ScrollPane с JPanel, и я добавляю около 200 компонентов в JPanel.Знайте, я хочу, чтобы вертикальный ползунок переместился на определенный компонент.Но проблема в том, что когда я звоню:

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 Ответ

5 голосов
/ 27 января 2012

SwingUtilities.invokeLater()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...