是否可以将文本垂直放在标签内?我正在使用:
sklearn
这会使文本水平居中,但不会垂直居中。
答案 0 :(得分:2)
CLabel label = new CLabel(shell, SWT.CENTER);
也许您应该尝试使用org.eclipse.swt.custom.CLabel
(JavaDoc)。
上面的代码将文本垂直居中放在标签中。
答案 1 :(得分:1)
标签内的文字始终在顶部对齐。 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();
}