0

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

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

.getSize():它返回 0。

.getHeight():它返回 0。

.getWidth():它返回 0。

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

为了在屏幕上显示后强制它这样做,也许我可以使用 EventQueue,但我不确定如何。

谢谢您的回答!

4

1 回答 1

2

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

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

然后有些不对劲。您确定要在可见组件上调用这些方法,而不是在某些变量上调用它们吗?没有代码,很难说出你的错误在哪里。

于 2011-05-24T21:31:30.650 回答