0

FilteredTree在我的 Eclipse 插件视图中使用 a SashForm,如下所示:

public void createPartControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);

    container.setLayout(new GridLayout(2, false));
    {

            SashForm sashForm = new SashForm(container, SWT.NONE);
            GridData gd = new GridData(SWT.LEFT, SWT.FILL, false, true, 1, 1);
            gd.widthHint = 300;
            sashForm.setLayoutData(gd);
            {
                PatternFilter filter = new PatternFilter();
                FilteredTree tree = new FilteredTree(sashForm, SWT.MULTI | SWT.H_SCROLL
                        | SWT.V_SCROLL, filter, true);

            treeViewer = tree.getViewer();
            }

    }
    {
        browser = new Browser(container, SWT.NONE);
        browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));

    }

    getSite().setSelectionProvider(treeViewer);
    getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(listener);

    createActions();
    initializeToolBar();
    initializeMenu();
}

现在每当我使用FilteredTree过滤树的内容时 - 它都会抛出一个StackOverFlowError. 我无法弄清楚我的实施有什么问题?

例外 :

!MESSAGE An internal error has occurred.
!STACK 0
java.lang.StackOverflowError
    at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
    at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3402)
    at org.eclipse.swt.widgets.Tree.getItems(Tree.java:3304)
    at org.eclipse.swt.widgets.TreeItem.getItems(TreeItem.java:789)
    at org.eclipse.jface.viewers.TreeViewer.getChildren(TreeViewer.java:161)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalFindItem(AbstractTreeViewer.java:1823)
    at org.eclipse.jface.viewers.AbstractTreeViewer.doFindItem(AbstractTreeViewer.java:903)
    at org.eclipse.jface.viewers.StructuredViewer.findItems(StructuredViewer.java:810)
    at org.eclipse.jface.viewers.StructuredViewer.findItem(StructuredViewer.java:765)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalGetWidgetToSelect(AbstractTreeViewer.java:1742)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1630)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1638)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1638)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1638)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1638)
4

0 回答 0