绘画前的JComponent高度

时间:2011-12-15 15:49:03

标签: java swing components jpanel paint

我有一个Jpanel,我添加了许多组件(比方说100个JButtons)。 当我现在请求添加的组件的高度时,全部为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 个答案:

答案 0 :(得分:5)

我将需要组件的高度来设置VerticalScrollBar - 不,你不这样做(假设这是包含带按钮的面板的JScrollPane的滚动条

  button.scrollRectToVisible(button.getBounds())

组件实现后(又名:显示)