我有一个窗口,因为我动态地更改了它的子项(有时我交换了 JPanel),所以除了在窗口上调用 pack() 来显示新元素之外,我没有找到其他解决方案。否则它只会在我手动调整窗口大小时显示。
问题在于,如果窗口最大化,在 pack() 之后它将不再是,这不是我可以给客户的。
有什么线索吗?
最佳答案
首先,我希望您使用的是 CardLayout
用于面板交换,因为此功能内置于特定的布局管理器中。通常,您需要调用 validate
/revalidate
和 repaint
在容器上刷新显示。
另见:
关于Window 上的 Java Swing pack() 未最大化它,如何避免这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7232201/