在GridBagLayout中对齐JTextField

时间:2014-06-03 15:05:41

标签: java swing jtextfield layout-manager gridbaglayout

我正在寻找一种解决方案,以便在JTextFields中对齐两个GridBagLayout不同大小的JTextField。不是保持 GridBagConstraints gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.FIRST_LINE_START; gbc.ipady = 10; JLabel lb1 = new JLabel("User: "); JLabel lb2 = new JLabel("Name: "); JLabel lb3 = new JLabel("First "); JLabel nameLB = new JLabel("Last "); JTextField tf1 = new JTextField(20); JTextField tf2 = new JTextField(20); JTextField nameTF = new JTextField(20); gbc.gridx = 0; gbc.gridy = 0; add(lb1,gbc); gbc.gridx = 0; gbc.gridy = 1; add(lb2,gbc); gbc.gridx = 1; gbc.gridy = 0; gbc.gridwidth = 2; add(tf1,gbc); gbc.gridx = 1; gbc.gridy = 1; gbc.gridwidth = 1; add(lb3,gbc); gbc.gridx = 2; gbc.gridy = 1; gbc.gridwidth = 1; add(tf2,gbc); gbc.gridx = 1; gbc.gridy = 2; gbc.gridwidth = 1; add(nameLB,gbc); gbc.gridx = 2; gbc.gridy = 2; gbc.gridwidth = 1; add(nameTF,gbc); 的原始大小,而是希望两者都在同一列中结束。

{{1}}

1 个答案:

答案 0 :(得分:1)

我认为tf1是造成这个问题的原因。如果此文本字段未延伸到末尾,则可以添加填充约束。尝试

gbc.fill =  GridBagConstraints.HORIZONTAL;
pane.add(tf1, gbc);

如果这不起作用,您可以发布有关问题的完整代码或更多说明吗?