【发布时间】:2019-01-25 17:52:47
【问题描述】:
我想构建这个布局:
其中包含一个标签、一个文本字段、2 个按钮和一个可变高度的文本区域(从 1 行到 40 多行)。我正在尝试使用GridBagLayout,但没有成功。按钮在彼此之上,我不知道如何设置每个元素的大小,并且它们之间没有空格。这是到目前为止的代码:
GridBagLayout gridbag = new GridBagLayout();
this.setLayout(gridbag);
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 4;
gridbag.setConstraints(lblGuidelines, c);
this.add(lblGuidelines);
c.gridx = 0;
c.gridy = 1;
c.gridwidth = 4;
gridbag.setConstraints(txtNumberInput, c);
this.add(txtNumberInput);
c.gridx = 0;
c.gridy = 2;
c.gridwidth = 2;
c.weightx = 0.5;
gridbag.setConstraints(btnCheck, c);
this.add(btnCheck);
c.gridx = 0;
c.gridy = 2;
c.gridwidth = 2;
c.weightx = 0.5;
gridbag.setConstraints(btnClear, c);
this.add(btnClear);
c.gridx = 0;
c.gridy = 3;
c.gridwidth = 4;
gridbag.setConstraints(textArea, c);
this.add(textArea);
【问题讨论】:
-
c.gridx = 0;必须是c.gridx = 1;用于第二个按钮,c.gridwidth = 2应应用于所有其他组件,但不能应用于按钮
标签: java swing layout layout-manager gridbaglayout