Java 是否可以运行JPanel(没有JFrame)并动态显示其中的所有组件?

Java 是否可以运行JPanel(没有JFrame)并动态显示其中的所有组件?,java,swing,jpanel,Java,Swing,Jpanel,因此,基本上,我正在尝试获得一个JPanel窗口,它将动态显示内部的所有组件。换句话说,它将重新调整窗口大小,并显示以适应其内容 我已经能够在JFrame及其pack()方法的帮助下完成这项工作,该方法为:。 在我的情况下,我不想使用JFrame,因为它需要付出很大的努力来进行所有的更改。 现在,我可以让它工作,但只有在jscroll的帮助下,里面包装了文本和/或任何新行,所以窗口大小更静态。因此,我的JPanel正在扩展TopComponent,我可以通过以下方式显示它: jpanel.ope

因此,基本上,我正在尝试获得一个JPanel窗口,它将动态显示内部的所有组件。换句话说,它将重新调整窗口大小,并显示以适应其内容

我已经能够在JFrame及其pack()方法的帮助下完成这项工作,该方法为:。 在我的情况下,我不想使用JFrame,因为它需要付出很大的努力来进行所有的更改。 现在,我可以让它工作,但只有在jscroll的帮助下,里面包装了文本和/或任何新行,所以窗口大小更静态。因此,我的JPanel正在扩展TopComponent,我可以通过以下方式显示它:

jpanel.open(); 

jpanel.requestActive();

因此,问题是如何调整窗口的大小,使其内容与该窗口中的操作相适应。

必须将
JPanel
添加到
窗口中才能有意义。因此,我建议您正确使用布局管理器,您将获得一个良好的用户界面。

必须将
JPanel
添加到
窗口中才能理解。因此,我建议您正确使用布局管理器,您将获得一个良好的用户界面。

当您从可见面板添加/删除组件时,您需要使用:

panel.revalidate();
panel.repaint();

然后,布局管理器将再次布局组件。

从可见面板添加/删除组件时,您需要使用:

panel.revalidate();
panel.repaint();
然后,布局管理器将再次布局组件