如何获得尚未显示的JPanel的大小

时间:2012-09-01 15:23:30

标签: java swing layout jscrollpane jdialog

我在JDialog中有一个可调整大小的JScrollPane。 JScrollPane有一个JPanel(称为容器)所有这些JScrollPane,JPanel和Jdialog都是可调整大小的。在运行时,另一个JPanel(称为子)被添加到之前的jPanel,它位于JDialog的JScrollPane内。我想获得'子'JPanel大小的大小。在将'child'JPanel添加到'container'JPanel之前和之后,'child'和'container'JPanels的大小显示为0 0.(child.getSize() , container.getSize())。

在查看JComponent之前,获取大小可能是不可能的。但就我而言,即使添加并查看了'child'JPanel,尺寸仍为0.

添加到'容器'JPanel

后如何获得'child'JPanel的实际大小

2 个答案:

答案 0 :(得分:7)

您可以在validate()之前使用setVisible()来获取几何图形,如here所述。

答案 1 :(得分:0)

将子Jpanel添加到容器JPanel后,我得到了子面板大小,然后它不是0大小,并且产生了实际大小。感谢所有评论和回答我的问题的人。另外,正如trashgod所说,我打电话给validate()。一切都很好。