我有一个JPanel,我在运行时动态创建JButtons。我希望根据添加到它的JButton的数量动态调整JPanel大小。我应该使用什么布局?我的JPanel将被添加到JFrame中,所以任何人都可以解释我必须做些什么来建立我想要做的事情?
EDIT
经过一番研究后,我使用以下布局
mode.setLayout(new GridLayout(5, 0, 1, 1));
这里mode
是JPanel。现在,如果我只有2个JButton添加到JPanel,按钮将显示在另一个下面,这很好。但是我在这两个按钮的底部获得了额外的空间。如果我有15个按钮,我会得到5行和3列,这也很好但是窗口大小很小我必须在运行时手动调整窗口大小以完全显示按钮。
具体问题:如何在上述动态按钮场景中管理窗口大小?
答案 0 :(得分:1)
动态添加组件的基本代码是:
panel.add(...);
panel.revalidate();
更新
您可以使用以下方法获取需要打包的窗口:
SwingUtilities.windowForComponent(...);