我正在尝试在对话框窗口中显示可滚动复合。
但它没有得到滚动条。我也没有得到“确定”“取消”按钮。
如何解决?
public class MyDialog extends Dialog {
public MyDialog (Shell parentShell) {
super(parentShell);
}
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText("test");
newShell.setSize(200, 100);
}
protected Control createDialogArea(Composite parent) {
ScrolledComposite sc = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
Composite composite = new Composite(sc, SWT.NONE);
composite.setLayout(new FillLayout(SWT.VERTICAL));
new Label(composite, SWT.NONE).setText("1111");
new Label(composite, SWT.NONE).setText("2222");
new Label(composite, SWT.NONE).setText("3333");
new Label(composite, SWT.NONE).setText("4444");
new Label(composite, SWT.NONE).setText("5555");
new Label(composite, SWT.NONE).setText("6666");
new Label(composite, SWT.NONE).setText("7777");
sc.setContent(composite);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
return parent;
}
答案 0 :(得分:1)
好的,所以我差点搞定了。但是,在底部有一些空白区域,对话框按钮就是这样。如果这不打扰你,或者你要添加按钮,下面的代码将做你想要的。如果没有,我不知道如何帮助你。
public class MyDialog extends Dialog
{
protected MyDialog(Shell parentShell) {
super(parentShell);
}
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText("test");
newShell.setSize(200, 100);
}
protected void createButtonsForButtonBar(Composite parent) {
}
protected Control createDialogArea(Composite parent) {
Composite content = (Composite) super.createDialogArea(parent);
content.setLayout(new FillLayout());
ScrolledComposite sc = new ScrolledComposite(content, SWT.H_SCROLL
| SWT.V_SCROLL | SWT.BORDER);
Composite composite = new Composite(sc, SWT.NONE);
composite.setLayout(new FillLayout(SWT.VERTICAL));
new Label(composite, SWT.NONE).setText("1111");
new Label(composite, SWT.NONE).setText("2222");
new Label(composite, SWT.NONE).setText("3333");
new Label(composite, SWT.NONE).setText("4444");
new Label(composite, SWT.NONE).setText("5555");
new Label(composite, SWT.NONE).setText("6666");
new Label(composite, SWT.NONE).setText("7777");
sc.setContent(composite);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
sc.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
return parent;
}
}
但是,我假设你要使用对话框按钮。否则你可以简单地使用一个带有复合的shell,如我之前发布的示例中所示......