使用以下代码,我想创建一个 Jpanel 通用组件并添加两个子组件,一个标签和一个 JTextField。我要添加组件,但它们没有左对齐。
(不,我不需要 GridBagLayout,但我试图用 GridBag 做一个基本示例。你能描述如何用 GridBag 而不是其他布局来做这个)。
public Component buildStatusComponent() {
// Place the components on one line //
final GridBagLayout layout = new GridBagLayout();
final GridBagConstraints constraints = new GridBagConstraints();
final JPanel group = new JPanel(layout);
constraints.anchor = GridBagConstraints.WEST;
constraints.gridx = 0;
constraints.fill = GridBagConstraints.NONE;
group.setAlignmentX(JComponent.LEFT_ALIGNMENT);
group.add(new JLabel("Messages: "), constraints);
constraints.gridx = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
group.add(this.statusArea, constraints);
return group;
}
在此级别之上,我只是添加 JPanel 并水平填充。
constraints.gridy++;
constraints.fill = GridBagConstraints.HORIZONTAL;
this.add(this.buildStatusComponent(), constraints);