java - 添加新组件后自动更新 JFrame 大小

标签 java swing jframe jpanel

我有一个 JFrame,里面有一个 JPanel(使用 Window Builder Pro 时的默认设置)。在我的代码中,我添加了一个新的 JPanel,但外部 JFrame 无法重新调整大小以适应新组件。所以我必须手动拖动。

截图如下:

enter image description here

我怎样才能做到无论我在其中放入什么,JFrame 都会自动更新其大小以适应新的 Swing 组件?

最佳答案

添加新组件后,尝试调用

frame.pack() 

在封闭框架上。 pack 方法将根据其底层组件的大小设置框架的大小。这实际上是Window类的一个方法,文档可用here

如果您手边没有对窗口/框架的引用,一个简单的方法是调用 SwingUtilities.getWindowAncestor () 在面板上 after 它已被添加。

关于java - 添加新组件后自动更新 JFrame 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16092878/

相关文章:

java - 如何在 CPU 能力很小的设备上通过足够的迭代生成 secret

java - PostgreSQL 函数 : relation does not exist error

java - 依赖常量值的单元测试代码

Java气泡图自适应文字大小

java - 将从同一类创建的 jpanels 添加到卡片布局框架

java - 使用 JFrame 调用 JComboBox

java - 通过 JSch 在 Java 上运行 Linux 命令

java - repaint() 方法不绘制新帧

java - 边框布局循环。 J面板/Swing

java - Java 无法接收键盘输入