gpt4 book ai didi

java - 如何为 TreeViewer 启用滚动条

转载 作者:行者123 更新时间:2023-12-01 12:25:56 25 4
gpt4 key购买 nike

我需要构造一个 JFace 对话框,其中包含一个 TreeViewer

这就是我重写createDialogArea(Composite)方法的方法:

@Override
protected Control createDialogArea(Composite parent)
{
parentComposite = (Composite) super.createDialogArea(parent);
parentComposite.setLayout(new FillLayout(SWT.HORIZONTAL));

sc = new ScrolledComposite (parentComposite, SWT.H_SCROLL | SWT.V_SCROLL);

composite = new Composite (sc, SWT.NONE);
composite.setLayout(new GridLayout(1,false));
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

TreeViewer viewer = new TreeViewer(composite);

viewer.setContentProvider(new ExplorerContentProvider(rootFolderType, shell));
viewer.setLabelProvider(new ExplorerLabelProvider());
viewer.setInput(rootFolderComponent);

sc.setContent(composite);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
sc.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));

return parentComposite;

}

通过上面的代码,这是我的观察:

我在树中有 100 个元素,所以我有一个外部滚动条(因为我使用了 ScrolledComposite)。然后,如果我展开每个元素,我会得到 TreeViewer 的另一个滚动条。

我可以用一个滚动条来实现这一点吗?

最佳答案

我已经删除了 ScrolledComposite,它已经解决了问题。 TreeViewer 本身动态处理滚动条。

关于java - 如何为 TreeViewer 启用滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26334331/

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