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

J86*_*J86 4 java swing jpanel jframe

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

这是一个截图:

在此输入图像描述

我怎样才能做到这一点,无论我放在那里,JFrame都会自动更新它的大小以适应新的Swing组件?

Joh*_*nyO 5

添加新组件后,尝试调用

frame.pack() 
Run Code Online (Sandbox Code Playgroud)

在封闭的框架上.pack方法将根据其底层组件的大小设置框架的大小.这实际上是Window类的一种方法,这里提供文档

如果你没有方便的Window/Frame引用,一个简单的方法是在添加调用 面板上的SwingUtilities.getWindowAncestor().