selectresourcespanel1.java

来自「Sematic Assessment System: Java GUI appl」· Java 代码 · 共 76 行

JAVA
76
字号
package edu.stanford.smi.protegex.owl.ui.dialogs;

import java.util.Collection;
import java.util.Collections;
import javax.swing.JComponent;
import javax.swing.JTree;
import javax.swing.ListSelectionModel;
import edu.stanford.smi.protege.model.Cls;
import edu.stanford.smi.protege.model.KnowledgeBase;
import edu.stanford.smi.protege.ui.Finder;
import edu.stanford.smi.protege.ui.FrameRenderer;
import edu.stanford.smi.protege.ui.ParentChildRoot;
import edu.stanford.smi.protege.ui.SelectInstancesPanel1;
import edu.stanford.smi.protege.util.ComponentFactory;
import edu.stanford.smi.protege.util.LabeledComponent;
import edu.stanford.smi.protege.util.LazyTreeRoot;
import edu.stanford.smi.protegex.owl.model.OWLModel;

/**
 * @author Holger Knublauch  <holger@knublauch.com>
 */
public class SelectResourcesPanel1 extends SelectInstancesPanel1{

    private JTree _clsHierarchyTree;
    private LabeledComponent instanceLabelComponent;
    private Finder _instanceFinder;
    private Cls selectedCls;
    
    public SelectResourcesPanel1(OWLModel owlModel, Collection classes) {
        this(owlModel, classes, false);
       
    }

    public SelectResourcesPanel1(OWLModel owlModel, Collection classes, boolean allowsMultipleSelection) {
        super(owlModel, classes);
        if (!allowsMultipleSelection) {
            _instanceList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        }
    }

    protected LabeledComponent createClsesLabeledComponent(KnowledgeBase kb, Collection clses) {
        LabeledComponent lc = super.createClsesLabeledComponent(kb, clses);      
        return lc;
    }

    protected JComponent createClassHierarchyTree() {
        LazyTreeRoot root = new ParentChildRoot(Collections.EMPTY_LIST);
        _clsHierarchyTree = ComponentFactory.createSelectableTree(null, root);
        _clsHierarchyTree.setRootVisible(false);
        _clsHierarchyTree.setShowsRootHandles(false);
        FrameRenderer renderer = FrameRenderer.createInstance();
        renderer.setDisplayDirectInstanceCount(false);
        _clsHierarchyTree.setCellRenderer(renderer);
        return _clsHierarchyTree;
    }    
        
    protected LabeledComponent createInstanceLabeledComponent() {
    	instanceLabelComponent = super.createInstanceLabeledComponent();
        createClassHierarchyTree();
        _instanceFinder = (Finder) instanceLabelComponent.getFooterComponent();
        return instanceLabelComponent;
    }
    
    protected Collection getInstances(Cls cls) {
        selectedCls=cls;
 	return cls.getDirectInstances();
    }

    public Cls getSelectedInstance() {
 	return selectedCls;
    }
    
    public Collection getSelection() {
        return super.getSelection();
    }   
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?