次のコードでは、Jpanel 汎用コンポーネントを作成し、Label と JTextField の 2 つのサブコンポーネントを追加します。コンポーネントを追加する予定ですが、左揃えになりません。
(いいえ、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);