添加新组件时扩展的面板

Panel that expands when new components are added

我想在我的框架中有多个垂直面板,其中以一个按钮开头。当我按下这些按钮时,它们会向这些面板添加更多按钮。添加新按钮时,面板应该展开并将所有其他面板推到它们下面。我在上面添加了我想要的示例图片。

我不是布局管理器的新手,有没有我可以使用的布局管理器?如果不能,我该怎么办?

这取决于子面板的布局管理器和父面板的布局管理器。这两个布局管理器都需要能够增长。根据图片,您可以对父面板和子面板使用垂直 BoxLayout

当您将组件添加到可见面板时,您需要 revalidate() 面板来调用布局管理器,因此基本代码为:

JButton button = new JButton(...);
panel.add( button );
panel.revalidate();
panel.repaint();

阅读 Layout Managers 上的 Swing 教程部分,了解更多信息和工作示例以帮助您入门。