gridlayout中的间距问题

时间:2014-04-10 13:38:46

标签: java layout swt

我在gridlayout中面临一个小问题。 我有一个标签和一行文字 和下一行中的另一个标签。 第二行中的标签具有更长的长度 比第一行第一个标签中的标签。 现在我想定位文本字段 在靠近label1的第一行。自labe2 它取代列的字符数高于label1 label2的长度。由于文本字段没有 接近标签1。是否可以制作文本字段 靠近标签?

请找到以下代码..

package zx.example.hello;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

    public class GridLayoutExample {

        public static void main(String[] args) {
            Display display = new Display();
            Shell shell = new Shell(display);
            GridLayout gridLayout = new GridLayout();
            gridLayout.numColumns = 2;
            shell.setLayout(gridLayout);

            GridData data1 = new GridData();
            Label label1 = new Label(shell, SWT.PUSH);
            label1.setText("Label1");
            label1.setLayoutData(data1);

            Text text1 = new Text(shell, SWT.BORDER);
            text1.setText("");

            Label label2 = new Label(shell, SWT.PUSH);
            label2.setText("Label 222222222222222222222222222222");
            /*Text text2 = new Text(shell, SWT.BORDER);
            text2.setText("B4");*/

            shell.pack();
            shell.open();

            while (!shell.isDisposed()) {
                if (!display.readAndDispatch())
                    display.sleep();
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

是的,你可以,添加这一行:

label2.setLayoutData(new GridData(SWT.BEGINNING, SWT.TOP, true, true, 2, 1));

它会在Label的两列中进行第二次GridLayout延伸。