使用GroupLayout后获取JComponent的正确大小

时间:2011-05-24 21:27:40

标签: java size layout-manager grouplayout

我想询问是否可以在将JPanel放入使用GroupLayout作为布局管理器的另一个JPanel之后获得正确大小的JPanel。我已经尝试过使用:

.getPreferredSize():这导致我设置的首选大小,而不是帧中JPanel上绘制的实际大小(如果帧调整大小,元素将水平扩展;这是不可见的在价值观中。)

.getSize():它返回0.

.getHeight():它返回0.

.getWidth():返回0.

也许代码的定位是相关的,但它会在屏幕上显示后执行,所以它无关紧要。

要在屏幕上显示后强行执行此操作,也许我可以使用EventQueue,但我不确定如何。

感谢您的回答!

1 个答案:

答案 0 :(得分:2)

只有通过在顶级容器上调用pack或setVisible(true),才能获得组件的“正确”大小。

  

也许代码的定位是相关的,但它会在屏幕上显示后执行,所以它无关紧要。

然后事情不对。你确定你在可见组件上调用这些方法而不是影响它们的一些变量吗?没有代码,很难说出你的错误所在。