0

MultiPageEditor1 つのページに が表示されるはずの を初めて開発していcheckboxTreeViewerますが、動作しません。また、例のラベルが付いた他のページは機能しません。私は完全に間違ったことをしていますか?これまでの私のコードは次のとおりです。

public class PlcEditor extends MultiPageEditorPart implements
        IResourceChangeListener, PropertyChangeListener {

....

@Override
    protected void createPages() {
        // Configuration Page
        createConfigurationPage();

        // Product Page
        createProductPage();
    }

    private void createConfigurationPage() {
        Composite container = new Composite(getContainer(), SWT.NONE);
        FillLayout layout = new FillLayout();
        container.setLayout(layout);
        tv = new CheckboxTreeViewer(container, SWT.MULTI | SWT.H_SCROLL
                | SWT.V_SCROLL);
        tv.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
        tv.setAutoExpandLevel(2);
        tv.setContentProvider(new ConfigurationContentProvider());
        tv.setLabelProvider(new ConfigurationLabelProvider());
        tv.setExpandPreCheckFilters(true);
        tv.setInput("root");
        tv.addCheckStateListener(new ICheckStateListener() {
            public void checkStateChanged(CheckStateChangedEvent event) {
                // If the item is checked or not. . .
                if (event.getChecked()) {
                    // . . . check all its children
                    tv.setSubtreeChecked(event.getElement(), true);
                } else {
                    // . . . uncheck all its children
                    tv.setSubtreeChecked(event.getElement(), false);
                }
            }
        });
        int index = addPage(container);
        setPageText(index, "Configuration");
    }

    private void createProductPage() {
        Composite container = new Composite(getContainer(), SWT.NONE);
        Label label = new Label(container, SWT.BORDER);
        label.setLocation(100, 50);
        label.setText("Concrete Product");
        int index = addPage(container);
        setPageText(index, "Product");
    }
....

少なくともラベルは機能するはずですか?

乾杯、フィル

4

1 に答える 1

0

表示を停止してcreateProductPageいるレイアウトを設定していません。Composite

ここでの簡単なテストではSWT.BORDER、ツリー ビューアーに追加したところ、ページがいっぱいになり、コンテンツ プロバイダーが機能していない可能性があります。

于 2013-11-06T09:39:46.777 に答える