Высота компонента перед покраской - PullRequest
1 голос
/ 15 декабря 2011

У меня есть Jpanel, куда я добавляю много компонентов (скажем, 100 JButton). Когда я сейчас запрашиваю высоту добавленных Компонентов, там все 0. А вот и код:

void AddComponents(){

//add 100 Buttons to my jpanel

for (Component component : jpanel.getComponents()) {

      Rectangle test = component.getBounds();

      DebugTextArea.append("\nx: " + test.x + "- y:" + test.y + 
                          "- height: " + test.height + "- width: " + test.width);
        }

}

Все значения равны 0. Я знаю, что это как-то связано с тем, что рисование компонентов займет некоторое время, но как я могу получить высоту, потому что мне понадобится высота Компонентов, чтобы установить для VerticalScrollBar значение определенный момент.

есть идеи?

1 Ответ

5 голосов
/ 15 декабря 2011

Мне понадобится высота Компонентов, чтобы установить VerticalScrollBar - нет, вы этого не сделаете (при условии, что это полоса прокрутки JScrollPane, которая содержит панель с кнопками

  button.scrollRectToVisible(button.getBounds())

после реализации компонента (он же показан)

...