gpt4 book ai didi

java - Java GridBagConstraints 的问题

转载 作者:行者123 更新时间:2023-11-30 05:56:47 25 4
gpt4 key购买 nike

所以,我需要我的布局如下所示:

{|Name|         |Info||Tag||Id|}

现在看起来像这样:

{|Name|   |Info|   |Tag|   |Id|}

或多或少。这是我的代码:

    GridBagConstraints c;

c = new GridBagConstraints(0, 0, 5, 1, .5, .1, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(0,0,0,0), 5, 5);
header.add(name, c);
c = new GridBagConstraints(10, 0, 1, 1, .5, .1, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(1,1,1,1), 5, 5);
header.add(id, c);
c = new GridBagConstraints(8, 0, 2, 1, .5, .1, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(1,1,1,1), 5, 5);
header.add(tag, c);
c = new GridBagConstraints(6, 0, 2, 1, .5, .1, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(1,1,1,1), 5, 5);
header.add(info, c);

我应该如何更改它以获得所需的结果?

最佳答案

水平 BoxLayout 可能更容易。您的代码将类似于:

header.add( name );
header.add( Box.createHorizontalGlue() );
header.add( info );
...

示例

public class GridBagLayoutTest{

public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
createAndShowGUI();
}
});
}

private static void createAndShowGUI(){
final JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);

final JPanel panel = new JPanel(){
@Override
public Dimension getPreferredSize(){
return new Dimension(200, 20);
}
};
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.add( new JLabel("|Name|"));
panel.add(Box.createHorizontalGlue());
panel.add(new JLabel("|Info|"));
panel.add(new JLabel("|Tag|"));
panel.add(new JLabel("|Id|"));

frame.add(panel);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}

输出

enter image description here

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

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