面板未添加到主框架

发布于 2024-12-14 09:09:17 字数 607 浏览 3 评论 0原文

我有一个主框架和 3 个面板。我想将这 3 个面板添加到主框架中。但是,仅添加了其中 2 个。第三个则不然。我不明白为什么。有人可以帮忙吗?

        setLayout(new GridBagLayout());
        GridBagConstraints gbc=new GridBagConstraints();
        gbc.gridwidth=GridBagConstraints.REMAINDER;
        gbc.gridheight=GridBagConstraints.RELATIVE;
        gbc.anchor=GridBagConstraints.NORTHWEST;
        gbc.fill=GridBagConstraints.BOTH;
        gbc.weightx=gbc.weighty=1;      
        add(topPanel1, gbc);
        add(bottomPanel1, gbc);
        gbc.gridheight=GridBagConstraints.REMAINDER;
        add(buttonsPanel, gbc);

上面的代码是一个框架的构造函数。

I have a main frame and 3 panels. I want to add those 3 panels to the main frame. However, only 2 of them are getting added. The third one is not. I am not able to figure out why. Can someone help?

        setLayout(new GridBagLayout());
        GridBagConstraints gbc=new GridBagConstraints();
        gbc.gridwidth=GridBagConstraints.REMAINDER;
        gbc.gridheight=GridBagConstraints.RELATIVE;
        gbc.anchor=GridBagConstraints.NORTHWEST;
        gbc.fill=GridBagConstraints.BOTH;
        gbc.weightx=gbc.weighty=1;      
        add(topPanel1, gbc);
        add(bottomPanel1, gbc);
        gbc.gridheight=GridBagConstraints.REMAINDER;
        add(buttonsPanel, gbc);

the above code is the constructor of a frame.

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

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

发布评论

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

评论(2

零度℉ 2024-12-21 09:09:17

您应该根据所需的布局设置 gridxgridy 值。
例如,如果您想垂直布局组件,请执行以下操作:

gbc.gridx=0;
gbc.gridy=0;
add(topPanel1, gbc);
gbc.gridy++;
add(bottomPanel1, gbc);
gbc.gridy++;
add(buttonsPanel, gbc);

如果您不设置 gridx/y 值,则行为未指定(有时可能有效)。

You should set the gridx or gridy value, according to your desired layout.
E.g. if you want to layout the components vertically do something like this:

gbc.gridx=0;
gbc.gridy=0;
add(topPanel1, gbc);
gbc.gridy++;
add(bottomPanel1, gbc);
gbc.gridy++;
add(buttonsPanel, gbc);

If you do not set the gridx/y values the behavior is unspecified (sometimes it may work).

司马昭之心 2024-12-21 09:09:17

如果您想逐个添加三个面板,则必须删除 gbc.gridheight=GridBagConstraints.RELATIVE; 语句。

You have to remove the gbc.gridheight=GridBagConstraints.RELATIVE; statement if you want to add three panels one after one.

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