Java 在标签内垂直居中文本
是否可以将标签内的文本垂直居中?我正在使用:Java 在标签内垂直居中文本,java,layout,swt,Java,Layout,Swt,是否可以将标签内的文本垂直居中?我正在使用: message1 = new Label(shell, SWT.VERTICAL | SWT.CENTER); 这将使文本水平居中,而不是垂直居中。标签中的文本始终在顶部对齐。垂直样式仅在设置了分隔符时适用。在这种情况下,它会显示一条垂直或水平线,文本将被忽略 但您可以将标签本身置于父对象的中心。例如,此代码段通过使用GridLayout,将标签置于包含shell的中心: publicstaticvoidmain(字符串[]args){ 显示=新显
message1 = new Label(shell, SWT.VERTICAL | SWT.CENTER);
这将使文本水平居中,而不是垂直居中。标签中的文本始终在顶部对齐。
垂直
样式仅在设置了分隔符
时适用。在这种情况下,它会显示一条垂直或水平线,文本将被忽略
但您可以将标签本身置于父对象的中心。例如,此代码段通过使用GridLayout
,将标签置于包含shell的中心:
publicstaticvoidmain(字符串[]args){
显示=新显示();
外壳父对象=新外壳(显示);
标签=新标签(父项,SWT.NONE);
label.setText(“某些文本”);
label.setBackground(display.getSystemColor(SWT.COLOR_GREEN));
setLayout(新的GridLayout(1,false));
label.setLayoutData(新的GridData(SWT.CENTER,SWT.CENTER,true,true));
parent.open();
而(!parent.isDisposed()){
如果(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
也许您应该尝试使用org.eclipse.swt.custom.CLabel
()。
上面的代码正好将标签中的文本垂直居中。为什么不将标签垂直居中于其父标签中?@Baz感谢您的提示,我已相应地更新了答案。
CLabel label = new CLabel(shell, SWT.CENTER);