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

标签 java swing jframe layout-manager

我有一个窗口,因为我动态地更改了它的子项(有时我交换了 JPanel),所以除了在窗口上调用 pack() 来显示新元素之外,我没有找到其他解决方案。否则它只会在我手动调整窗口大小时显示。

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

有什么线索吗?

最佳答案

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

另见:

关于Window 上的 Java Swing pack() 未最大化它,如何避免这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7232201/

相关文章:

java - 如何根据日期对回收者 View 进行排序

java - 去除重复的字符串

java - 容器在调用验证后不会自行调整大小

java - 全屏和窗口模式切换失败

java - 为什么从其他类调用 JPanel 会给出 NullPointerException 错误?

java - CardView 和 LinearLayout 的 TextView 子项根本不显示

java - Solr 编码/解码数据

java - JScrollpane 外观和感觉

java - 刷新 GUI 时线程中出现异常

java - 如何存储和标记 JPanel 中加载的图像上的所有鼠标点击点?