2012-07-10 37 views
3

enter image description here我该如何左对齐GridBagLayout中的组件?

上图中的每一行都是使用gridbaglayout铺设组件的自定义组件。 我试图避免按钮“Abc”之前的空间,我希望它完全推到左侧。我如何使用gridbaglayout约束来实现这一点?

编辑添加源代码。

 gridBagConstraints = new GridBagConstraints(); 
     gridBagConstraints.gridx = 0; 
     gridBagConstraints.gridy = 0; 
     gridBagConstraints.fill = GridBagConstraints.NONE; 
     gridBagConstraints.insets = new Insets(11,0,0,0); 
     add(abcButton,gridBagConstraints); 
      gridBagConstraints = new GridBagConstraints(); 
     gridBagConstraints.gridx = 1; 
     gridBagConstraints.gridy = 0; 
     gridBagConstraints.fill = GridBagConstraints.NONE; 
     gridBagConstraints.insets = new Insets(20, 10, 0, 0); 
     add(comp1,gridBagConstraints); 
     gridBagConstraints = new GridBagConstraints(); 
     gridBagConstraints.gridx = 2; 
     gridBagConstraints.gridy = 0; 
     gridBagConstraints.fill = GridBagConstraints.NONE; 
     gridBagConstraints.insets = new Insets(20, 35, 0, 0); 
     add(comp2, gridBagConstraints); 
     gridBagConstraints = new GridBagConstraints(); 
     gridBagConstraints.gridx = 3; 
     gridBagConstraints.gridy = 0; 
     gridBagConstraints.ipadx = 120; 
     gridBagConstraints.ipady = 3; 
     gridBagConstraints.fill = GridBagConstraints.NONE; 
     gridBagConstraints.insets = new Insets(11,20, 0, 0); 
     add(txtField1, gridBagConstraints); 
    btnTxtField1.setMargin(new Insets(2, 1, 2, 1)); 
     gridBagConstraints = new GridBagConstraints(); 
     gridBagConstraints.gridx = 4; 
     gridBagConstraints.gridy = 0; 
     gridBagConstraints.ipadx = 0; 
     gridBagConstraints.fill = GridBagConstraints.NONE; 
     gridBagConstraints.insets = new Insets(11, 0, 0, 0); 
     add(btnTxtField1, gridBagConstraints); 
    gridBagConstraints = new GridBagConstraints(); 
    gridBagConstraints.gridx = 5; 
    gridBagConstraints.gridy = 0; 
    gridBagConstraints.ipadx = 120; 
    gridBagConstraints.ipady = 3; 
    gridBagConstraints.fill = GridBagConstraints.NONE; 
    gridBagConstraints.insets = new Insets(11, 0, 0, 0); 
    add(txtField2, gridBagConstraints); 
    gridBagConstraints = new GridBagConstraints(); 
    gridBagConstraints.gridx = 6; 
    gridBagConstraints.gridy = 0; 
    gridBagConstraints.ipadx = 0; 
    gridBagConstraints.fill = GridBagConstraints.NONE; 
    gridBagConstraints.insets = new Insets(11, 0, 0, 0); 
    add(btnTxtField2, gridBagConstraints); 

添加砝码后:

enter image description here

回答

3

你必须设置一个锚GridBagConstraints.NORTHWEST或这样的事情....

constraints.anchor = GridBagConstraints.WEST; 
+1

试过了..没有按” t工作:( – Jay 2012-07-10 07:55:37

+0

@Jay Ok。你可以发布你的源代码吗?有时候会出现其他约束的一些“奇怪”行为... – matcauthon 2012-07-10 08:55:16

+0

添加源代码作为编辑。 – Jay 2012-07-10 09:32:51