2016-04-08 13 views
2

テキストをラベルの中心に垂直に配置することはできますか?私は使用しています:センターテキストをラベル内に垂直方向に配置

message1 = new Label(shell, SWT.VERTICAL | SWT.CENTER); 

これは、テキストを水平に配置しますが、垂直に配置しません。

+0

なぜラベルをその親の中に垂直に配置しないのですか? – Baz

答えて

0

ラベル内のテキストは常に一番上に揃えられます。 VERTICALスタイルは、SEPARATORが設定されている場合にのみ適用されます。この場合、垂直または水平の単一の行が表示され、テキストは無視されます。

ただし、ラベル自体を親の中に集中させることができます。たとえば、このスニペットでは、包含シェル内にラベルを配置するには、GridLayout

public static void main(String[] args) { 
    Display display = new Display(); 
    Shell parent = new Shell(display); 
    Label label = new Label(parent, SWT.NONE); 
    label.setText("some text"); 
    label.setBackground(display.getSystemColor(SWT.COLOR_GREEN)); 

    parent.setLayout(new GridLayout(1, false)); 
    label.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true)); 

    parent.open(); 
    while(!parent.isDisposed()) { 
    if(!display.readAndDispatch()) 
     display.sleep(); 
    } 
    display.dispose(); 
} 
+1

'Label' Javadocページに' SWT.VERTICAL'がはっきりと見えます。 – Baz

+1

@Bazヒントのおかげで、私はそれに応じて答えを更新しました。 –

関連する問題