2013-09-26 86 views
0

我有两个标签放置在gridLayout中。标签1只是一个单词,标签2是4行。 由于标签2是4行,因此标签1是垂直居中的,但我希望垂直位于顶部。将标签放置在顶部SWT

下面是我用过的标签设置。

Label label = new Label(parent, SWT.WRAP); 
GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING, GridData.VERTICAL_ALIGN_BEGINNING, false, false); 
    gd.widthHint = 200; 
label.setLayoutData(gd); 

请帮我把顶部的标签对准不在中心的标签1

回答

1

如果你看看GridData.HORIZONTAL_ALIGN_BEGINNINGGridData.VERTICAL_ALIGN_BEGINNING的Javadoc,你可以看到,它说:

不推荐。改为使用新的GridData(SWT.BEGINNING,int,boolean,boolean)。

不推荐。改为使用新的GridData(int,SWT.BEGINNING,boolean,boolean)。

始终使用SWT校准常数:

public static void main(String[] args) 
{ 
    Display display = Display.getDefault(); 
    final Shell shell = new Shell(display); 
    shell.setText("StackOverflow"); 
    shell.setLayout(new GridLayout(2, false)); 

    Label left = new Label(shell, SWT.BORDER); 
    left.setText("LEFT"); 
    Label right = new Label(shell, SWT.BORDER); 
    right.setText("RIGHT\nRIGHT\nRIGHT\nRIGHT"); 

    GridData data = new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false); 
    left.setLayoutData(data); 
    data = new GridData(SWT.FILL, SWT.FILL, true, true); 
    right.setLayoutData(data); 

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

是这样的:

enter image description here

相关问题