中心文本垂直在标签内

时间:2016-04-08 12:19:15

标签: java layout swt

是否可以将文本垂直放在标签内?我正在使用:

sklearn

这会使文本水平居中,但不会垂直居中。

2 个答案:

答案 0 :(得分:2)

CLabel label = new CLabel(shell, SWT.CENTER);

也许您应该尝试使用org.eclipse.swt.custom.CLabelJavaDoc)。 上面的代码将文本垂直居中放在标签中。

答案 1 :(得分:1)

标签内的文字始终在顶部对齐。 VERTICAL样式仅在设置SEPARATOR时适用。在这种情况下,它会显示一条垂直或水平线,并忽略该文本。

但您可以将标签本身置于父级中心。例如,此代码段使用GridLayout

将标签置于包含的shell中
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();
}