gpt4 book ai didi

java - 关于在 Java 中使用 GridBagLayout

转载 作者:行者123 更新时间:2023-12-01 23:20:02 25 4
gpt4 key购买 nike

我正在学习如何使用 GridBagLayout。我在 JFrame 中创建了两个按钮。我尝试使其中一个占据一列(默认),其他两列,因此其大小是第一个列的两倍(我知道我可以使用 setPrefferredSize 来实现这一点,但我的目的是学习如何使用网格宽度和网格高度)。

有什么问题吗?谢谢

import java.awt.*;
import javax.swing.*;

public class Main extends JFrame {

Main(){

setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(500,500);

JPanel panel1 = new JPanel(new GridBagLayout());
JButton b1,b2;
b1 = new JButton("button 1");
b2 = new JButton("button 2");

GridBagConstraints gbc = new GridBagConstraints();

gbc.gridx = 1;
gbc.gridwidth = 1;
panel1.add(b1);
gbc.gridx = 2;
gbc.gridwidth = 2;
panel1.add(b2);

add(panel1);

setVisible(true);

}

public static void main(String[]args){

Main m = new Main();

}

}

最佳答案

第二个按钮的宽度有多少列并不重要。

实际上,两个按钮都会被要求提供它们的首选宽度,如果有足够的空间,宽度就会设置为它们。

如果空间较小,则使用最小宽度。

如果有额外的空间,则会根据权重比例在控件之间分配。

您可以尝试设置第一台iPadX=100,iPadx=200,并设置第一台iPadX=1,第二台iPadx=2的比例。

关于java - 关于在 Java 中使用 GridBagLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20743051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com