gpt4 book ai didi

java - 带有 ScrolledComposite 的 Jface 对话框

转载 作者:太空宇宙 更新时间:2023-11-04 08:02:19 25 4
gpt4 key购买 nike

我正在尝试在对话框窗口中显示可滚动的复合 Material 。

但它没有得到滚动条。我也没有得到“确定”“取消”按钮。

如何解决?

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;


}

enter image description here

最佳答案

好的,我几乎可以正常工作了。但是,底部有一些空白区域,用于放置对话框按钮。如果这不打扰您,或者您要添加按钮,下面的代码将满足您的要求。如果没有,我不知道如何帮助你。

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

enter image description here

但是,我假设您将使用对话框按钮。否则,您可以简单地使用带有复合 Material 的外壳,如我之前发布的示例所示...

关于java - 带有 ScrolledComposite 的 Jface 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12660842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com