动态窗口大小和按钮

发布于 2024-11-17 00:07:27 字数 423 浏览 1 评论 0原文

我有一个 JPanel,我正在运行时动态创建 JButton。我希望 JPanel 大小能够根据添加到其中的 JButton 数量动态调整。我应该使用什么布局?我的 JPanel 将被添加到 JFrame 中,所以任何人都可以解释我必须做什么才能确定我想要做什么?

编辑 经过一番研究后,我使用以下布局
mode.setLayout(new GridLayout(5, 0, 1, 1)); 这里的mode是JPanel。现在,如果我只将 2 个 JButton 添加到 JPanel,则按钮将显示在另一个下面,这很好。但我在这两个按钮的底部获得了额外的空间。如果我有 15 个按钮,我会得到 5 行和 3 列,这也很好,但是窗口尺寸很小,我必须在运行时手动调整窗口大小才能完全显示按钮。

具体问题:如何管理上述动态按钮场景中的窗口大小?

I have a JPanel and i am creating JButtons dynamically on runtime. I want the JPanel size to be adjusted dynamically according to the number of JButtons added to it. What layout should i use ? And my JPanel will be added to the JFrame so can anyone explain what do i have to do to establish what I am trying to do ?

EDIT
After a bit of research I am using the following layout
mode.setLayout(new GridLayout(5, 0, 1, 1));
Here mode is the JPanel. Now if i have just 2 JButtons added to the JPanel the buttons will be displayed one below the other which is fine. But I am getting extra space at the bottom of those 2 buttons. If I have 15 buttons I am getting 5 rows and 3 columns which is again fine but the window size is small I and I have to resize the window manually on runtime for displaying the buttons fully.

Specific Question: How to manage the window size on the above dynamic buttons scenario ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

山田美奈子 2024-11-24 00:07:27

动态添加组件的基本代码为:

panel.add(...);
panel.revalidate();

更新:

可以使用以下方式获取需要打包的Window:

SwingUtilities.windowForComponent(...);

The basic code for adding components dynamically is:

panel.add(...);
panel.revalidate();

Update:

You can use the following to get the Window that needs to be packed:

SwingUtilities.windowForComponent(...);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文