Group
スクロール可能自体を取得できるとは思いません。ただし、に a を追加することで、同じ効果を得ることができScrolledComposite
ましたGroup
:
group = new Group(parent, SWT.NONE);
group.setText("Images: ");
group.setLayout(new FillLayout());
ScrolledComposite comp = new ScrolledComposite(group, SWT.V_SCROLL | SWT.H_SCROLL);
comp.setLayout(new FillLayout());
Composite innerComp = new Composite(comp, SWT.NONE);
innerComp.setLayout(new FillLayout());
comp.setContent(innerComp);
comp.setExpandHorizontal(true);
comp.setExpandVertical(true);
Button
その後、を に追加できますComposite
innerComp
。setMinHeight(int height)
でとを使用する必要がある場合がありsetMinWidth(int width)
ますScrolledComposite
。
編集
ここに小さな実例があります。ウィンドウのサイズを小さくすると、スクロールバーが表示されることがわかります。
public static void main(String[] args)
{
Display display = Display.getDefault();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
Group imageGroup = new Group(shell, SWT.V_SCROLL | SWT.H_SCROLL);
imageGroup.setText("Images: ");
imageGroup.setLayout(new FillLayout());
ScrolledComposite frontComp = new ScrolledComposite(imageGroup, SWT.V_SCROLL | SWT.H_SCROLL);
Composite innerFrontComp = new Composite(frontComp, SWT.NONE);
frontComp.setLayout(new FillLayout());
innerFrontComp.setLayout(new FillLayout());
new Button(innerFrontComp, SWT.CHECK).setText("Button");
new Button(innerFrontComp, SWT.CHECK).setText("Button");
new Button(innerFrontComp, SWT.CHECK).setText("Button");
new Button(innerFrontComp, SWT.CHECK).setText("Button");
new Button(innerFrontComp, SWT.CHECK).setText("Button");
new Button(innerFrontComp, SWT.CHECK).setText("Button");
new Button(innerFrontComp, SWT.CHECK).setText("Button");
new Button(innerFrontComp, SWT.CHECK).setText("Button");
frontComp.setMinHeight(innerFrontComp.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
frontComp.setMinWidth(innerFrontComp.computeSize(SWT.DEFAULT, SWT.DEFAULT).x);
frontComp.setContent(innerFrontComp);
frontComp.setExpandHorizontal(true);
frontComp.setExpandVertical(true);
shell.pack();
shell.open();
while(!shell.isDisposed())
{
if(!display.readAndDispatch())
display.sleep();
}
}