GridField大小在GridBagLayout中没有增加

时间:2014-11-05 18:53:34

标签: java swing gridbaglayout

我正在尝试使用{{JFrameJPanelJButtonJLabelJTextFieldJPasswordField来设计一个简单的界面1}}和GridBagLayout。另外,如果有人告诉我,当我只有2个控件可用时,如何在2列中跨越textfield。

查看我得到的输出

enter image description here

看看TextField和PasswordField他们是怎么样的我试图获得更大的尺寸但是看不到我使用的代码失败。

导入所有必需的类

GridBagConstraints

添加c.weightx = 1后;最终输出

enter image description here

3 个答案:

答案 0 :(得分:2)

沿X轴设置重量,使组件沿该方向展开

c.weightx = 1;

答案 1 :(得分:1)

设定重量

c.weightx = 1;

并在之后修复按钮 你的对象从grid.x 2开始,到3结束。所以填充整个页面的宽度应为3

c.fill = GridBagConstraints.HORIZONTAL; 
c.gridx = 0;
c.gridy = 2;      
c.gridheight=1;

// ---------------------------

c.gridwidth = 3;

或将文本字段的起始x点更改为一个

答案 2 :(得分:1)

评论这些代码行

jid.setPreferredSize(new Dimension(100, 100));
...
jpass.setPreferredSize(new Dimension(100, 100));
...
jbutton1.setPreferredSize(new Dimension(100, 100));

你会得到这个结果:

enter image description here

如果您希望Login按钮位于中心,可以将UserIDpassword(标签和输入字段)放在面板中,然后将该面板添加到{{1 }}。你可能得到这样的东西:

enter image description here