Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在标签内垂直居中文本_Java_Layout_Swt - Fatal编程技术网

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);