Window上的Java Swing pack()取消了它的最大化,如何避免这种情况?

got*_*ch4 6 java swing jframe layout-manager

我有一个窗口,因为我在dinamically改变它的孩子(有时我交换JPanels),我发现没有其他解决方案比在窗口上调用pack()以显示新元素.否则只有在我手动调整窗口大小时才会显示.

这个问题是如果窗口最大化,在pack()之后它将不再存在,这不是我可以给客户端的.

有线索吗?

mre*_*mre 5

首先,我希望您使用CardLayout面板交换,因为此功能内置于该特定布局管理器中.通常,您需要调用validate/ revalidate并repaint在容器上刷新显示.

也可以看看: