私はいくつかの s を含むページを持っていますGroup
。グループには、異なるテキストのラベルをいくつか配置しました。すべてのグループを同じサイズにしたい。どうすればいいですか?(機能を試しましたsetSize
が、うまくいきませんでした)。
質問する
3753 次
1 に答える
6
次のコードはあなたが望むことをします。トリックは2つの部分で構成されています。
- 同じ幅:親(この例では
Shell
)は、GridLayout
各列の幅が同じであるaを使用します - 同じ高さ:親(の)の高さ全体を占める
GridData
ようにそれぞれに指示するために使用します。Group
Shell
public class StackExample
{
public static void main(String[] args)
{
Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setLayout(new GridLayout(3, true));
shell.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
for(int i = 0; i < 3; i++)
{
createGroup(shell, i);
}
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
private static void createGroup(Shell parent, int index)
{
Group group = new Group(parent, SWT.NONE);
group.setText("Group " + index);
group.setLayout(new GridLayout(1, false));
group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
for(int i = 0; i < index + 1; i++)
{
String text = "";
for(int j = 0; j < index + 1; j++)
{
text += "text";
}
Label label = new Label(group, SWT.NONE);
label.setText(text);
label.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
}
}
}
これが2つのスクリーンショットです:
最小サイズ:
ウィンドウサイズを大きくする場合:
于 2012-11-25T10:54:14.663 に答える