SWT的RowLayout很适合这个目的,但是我想在包含文本的所有小部件的字体基线上进行垂直对齐.
可能有一个准备好的自定义布局,这样做?
Snippet204.java可能具有实现它所需的功能,但我只是想问它之前是否已经完成.找不到它,但它似乎是一个典型的要求.
在屏幕截图的顶部,有行布局,下面是我手动安排到基线的固定布局(WindowBuilder已经对此进行了捕捉).

RowLayout有一个叫做的领域center.只需设置它就可以了true.
center指定行中的控件是应该在每个单元格中垂直居中以用于水平布局,还是在每个单元格中水平居中以用于垂直布局.默认值为false.
public static void main(String[] args)
{
Display display = new Display();
Shell shell = new Shell(display);
RowLayout layout = new RowLayout();
layout.center = true;
shell.setLayout(layout);
shell.setText("StackOverflow");
new Label(shell, SWT.NONE).setText("Label");
new Button(shell, SWT.PUSH).setText("Button");
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |