当前位置: 首页>>代码示例>>Java>>正文


Java TreeModel类代码示例

本文整理汇总了Java中javax.swing.tree.TreeModel的典型用法代码示例。如果您正苦于以下问题:Java TreeModel类的具体用法?Java TreeModel怎么用?Java TreeModel使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


TreeModel类属于javax.swing.tree包,在下文中一共展示了TreeModel类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: scrollToNode

import javax.swing.tree.TreeModel; //导入依赖的package包/类
public void scrollToNode(final Node n) {
        // has to be delayed to be sure that events for Visualizers
        // were processed and TreeNodes are already in hierarchy
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                TreeNode tn = Visualizer.findVisualizer(n);
                if (tn == null) {
                    return;
                }
                TreeModel model = tree.getModel();
                if (!(model instanceof DefaultTreeModel)) {
                    return;
                }
                TreePath path = new TreePath(((DefaultTreeModel) model).getPathToRoot(tn));
                Rectangle r = tree.getPathBounds(path);
                if (r != null) {
                    tree.scrollRectToVisible(r);
                }
            }
        });
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:24,代码来源:ProjectTab.java

示例2: DefaultOutlineModel

import javax.swing.tree.TreeModel; //导入依赖的package包/类
/** Creates a new instance of DefaultOutlineModel.  <strong><b>Note</b> 
 * Do not fire table structure changes from the wrapped TableModel (value
 * changes are okay).  Changes that affect the number of rows must come
 * from the TreeModel.
 * @param treeModel The tree model
 * @param tableModel The table model
 * @param largeModel <code>true</code> if it's a large model tree, <code>false</code> otherwise.
 * @param nodesColumnLabel Label of the node's column
 */
protected DefaultOutlineModel(TreeModel treeModel, TableModel tableModel, boolean largeModel, String nodesColumnLabel) {
    this.treeModel = treeModel;
    this.tableModel = tableModel;
    if (nodesColumnLabel != null) {
        this.nodesColumnLabel = nodesColumnLabel;
    }
    
    layout = largeModel ? (AbstractLayoutCache) new FixedHeightLayoutCache() 
        : (AbstractLayoutCache) new VariableHeightLayoutCache();
        
    broadcaster = new EventBroadcaster (this);
    
    layout.setRootVisible(true);
    layout.setModel(this);
    treePathSupport = new TreePathSupport(this, layout);
    treePathSupport.addTreeExpansionListener(broadcaster);
    treePathSupport.addTreeWillExpandListener(broadcaster);
    treeModel.addTreeModelListener(broadcaster);
    tableModel.addTableModelListener(broadcaster);
    if (tableModel instanceof ProxyTableModel) {
        ((ProxyTableModel) tableModel).setOutlineModel(this);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:33,代码来源:DefaultOutlineModel.java

示例3: getNextPath

import javax.swing.tree.TreeModel; //导入依赖的package包/类
TreePath getNextPath(TreePath path, boolean down) {
    TreeModel _model = model.treeModel;
    TreeNode node = (TreeNode)path.getLastPathComponent();
    if (down && _model.getChildCount(node) > 0)
        return path.pathByAddingChild(_model.getChild(node, 0));

    TreePath parentPath = path.getParentPath();
    if (!down && parentPath == null)
        return path.pathByAddingChild(_model.getChild(node, 0));
    
    TreeNode parent = (TreeNode)parentPath.getLastPathComponent();
    int idx = _model.getIndexOfChild(parent, node) + 1;

    if (_model.getChildCount(parent) > idx)
        return parentPath.pathByAddingChild(_model.getChild(parent, idx));

    if (!down && parentPath.getParentPath() == null) {
        return parentPath.pathByAddingChild(_model.getChild(parent, 0));
    } else {
        return getNextPath(parentPath, false);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:23,代码来源:ProfilerTreeTable.java

示例4: collapseChildren

import javax.swing.tree.TreeModel; //导入依赖的package包/类
public void collapseChildren(int row) {
    if (tree != null) try {
        markExpansionTransaction();
        
        TreePath tpath = tree.getPathForRow(row);
        if (tpath == null || tree.isCollapsed(tpath)) return;
        
        TreeModel tmodel = tree.getModel();
        Object selected = tpath.getLastPathComponent();
        
        int nchildren = tmodel.getChildCount(selected);
        for (int i = 0; i < nchildren; i++)
            tree.collapsePath(tpath.pathByAddingChild(tmodel.getChild(selected, i)));
    
    } finally {
        clearExpansionTransaction();
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:ProfilerTreeTable.java

示例5: expandPlainPath

import javax.swing.tree.TreeModel; //导入依赖的package包/类
public void expandPlainPath(int row, int maxChildren) {
    if (tree != null) try {
        markExpansionTransaction();
        
        TreePath tpath = tree.getPathForRow(row);
        if (tpath == null) return;
        
        TreeModel tmodel = tree.getModel();            
        int childCount = tmodel.getChildCount(tpath.getLastPathComponent());
    
        while (childCount > 0 && childCount <= maxChildren) {
            tpath = tpath.pathByAddingChild(tmodel.getChild(tpath.getLastPathComponent(), 0));
            childCount = tmodel.getChildCount(tpath.getLastPathComponent());
        }

        tree.putClientProperty(UIUtils.PROP_AUTO_EXPANDING, Boolean.TRUE);
        try { tree.expandPath(tpath); selectPath(tpath, true); }
        finally { tree.putClientProperty(UIUtils.PROP_AUTO_EXPANDING, null); }
        
    } finally {
        clearExpansionTransaction();
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:24,代码来源:ProfilerTreeTable.java

示例6: expandFirstPath

import javax.swing.tree.TreeModel; //导入依赖的package包/类
public void expandFirstPath(int row) {
    if (tree != null) try {
        markExpansionTransaction();

        TreePath tpath = tree.getPathForRow(row);
        if (tpath == null) return;

        TreeModel tmodel = tree.getModel();    

        while (tmodel.getChildCount(tpath.getLastPathComponent()) > 0)
            tpath = tpath.pathByAddingChild(tmodel.getChild(tpath.getLastPathComponent(), 0));

        tree.putClientProperty(UIUtils.PROP_AUTO_EXPANDING, Boolean.TRUE);
        try { selectPath(tpath, true); }
        finally { tree.putClientProperty(UIUtils.PROP_AUTO_EXPANDING, null); }

    } finally {
        clearExpansionTransaction();
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:ProfilerTreeTable.java

示例7: createTreeView

import javax.swing.tree.TreeModel; //导入依赖的package包/类
private void createTreeView() {
    synchronized (lock) {
        releaseTreeView();
        treeView = new DebugTreeView();
        treeView.setRootVisible(false);
        treeView.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        treeView.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
        treeView.getAccessibleContext().setAccessibleName(NbBundle.getMessage(DebuggingViewComponent.class, "DebuggingViewComponent.treeView.AccessibleContext.accessibleName")); // NOI18N
        treeView.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(DebuggingViewComponent.class, "DebuggingViewComponent.treeView.AccessibleContext.accessibleDescription")); // NOI18N
        treeView.getTree().addMouseWheelListener(this);
        treeView.addTreeExpansionListener(this);
        TreeModel model = treeView.getTree().getModel();
        model.addTreeModelListener(this);
        treeView.getViewport().addChangeListener(this);
        treeView.getTree().setScrollsOnExpand(false);
        mainPanel.add(treeView, BorderLayout.CENTER);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:19,代码来源:DebuggingViewComponent.java

示例8: scrollNodeToVisible

import javax.swing.tree.TreeModel; //导入依赖的package包/类
private void scrollNodeToVisible( final Node n ) {
    EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {
            TreeNode tn = Visualizer.findVisualizer(n);
            if (tn == null) {
                return;
            }
            TreeModel model = tree.getModel();
            if (!(model instanceof DefaultTreeModel)) {
                return;
            }
            TreePath path = new TreePath(((DefaultTreeModel) model).getPathToRoot(tn));
            if( null == path )
                return;
            Rectangle r = tree.getPathBounds(path);
            if (r != null) {
                tree.scrollRectToVisible(r);
            }
        }
    });
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:24,代码来源:Tab.java

示例9: expandAllPaths

import javax.swing.tree.TreeModel; //导入依赖的package包/类
/**
 * Opens all paths in the given node and all nodes below that.
 *
 * @param path
 *            the tree path to the node to expand
 * @param treeModel
 *            the tree model
 * @see JTree#expandPath(TreePath)
 */
protected void expandAllPaths(TreePath path, TreeModel treeModel) {
	expandPath(path);
	final Object node = path.getLastPathComponent();
	final int n = treeModel.getChildCount(node);
	for (int index = 0; index < n; index++) {
		final Object child = treeModel.getChild(node, index);
		expandAllPaths(path.pathByAddingChild(child));
	}
}
 
开发者ID:transwarpio,项目名称:rapidminer,代码行数:19,代码来源:PlotConfigurationTree.java

示例10: run

import javax.swing.tree.TreeModel; //导入依赖的package包/类
@Override
public void run() {
	try {
		Database database = JDBCMetaDataUtil.getMetaData(environment, true, true, true, true, 
				".*", exclusionPatternProvider.getValue(), true, true);
		DatabasePane.this.importer = importer;
		final TreeModel model = new SwingTreeModelAdapter<DBObject>(new DatabaseTreeModel(database));
		SwingUtilities.invokeLater(new Runnable() {
			@Override
			public void run() {
				tree = new DatabaseTree(model);
				scrollPane.setViewportView(tree);
			}
		});
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}
 
开发者ID:aravindc,项目名称:jdbacl,代码行数:19,代码来源:DatabasePane.java

示例11: populateTrees

import javax.swing.tree.TreeModel; //导入依赖的package包/类
private void populateTrees() {
    licenseFilterMenu.setLicenses();
    TreeModel issuesTreeModel = new DefaultTreeModel(new ScanTreeNode("SeveritiesTree"));
    TreeModel licensesTreeModel = new DefaultTreeModel(new ScanTreeNode("LicensesTree"));
    ScanManager scanManager = ScanManagerFactory.getScanManager(project);
    if (scanManager != null) {
        scanManager.filterAndSort(issuesTreeModel, licensesTreeModel);
    }

    ScanTreeNode root = (ScanTreeNode) issuesTreeModel.getRoot();
    issuesCount.setText("Issues (" + root.getIssueCount() + ") ");

    issuesComponentsTree.setModel(issuesTreeModel);
    issuesComponentsTree.validate();
    issuesComponentsTree.repaint();
    licensesComponentsTree.setModel(licensesTreeModel);
    licensesComponentsTree.validate();
    licensesComponentsTree.repaint();

    issuesTreeExpansionListener.setIssuesCountPanel();
}
 
开发者ID:JFrogDev,项目名称:jfrog-idea-plugin,代码行数:22,代码来源:XrayToolWindow.java

示例12: getTreeModel

import javax.swing.tree.TreeModel; //导入依赖的package包/类
protected static TreeModel getTreeModel() {
    root = new DefaultMutableTreeNode("Root");

    a = new DefaultMutableTreeNode("A");
    root.add(a);
    a1 = new DefaultMutableTreeNode("a1");
    a.add(a1);

    b = new DefaultMutableTreeNode("B");
    root.add(b);
    b1 = new DefaultMutableTreeNode("b1");
    b.add(b1);
    b2 = new DefaultMutableTreeNode("b2");
    b.add(b2);

    c = new DefaultMutableTreeNode("C");
    root.add(c);
    c1 = new DefaultMutableTreeNode("c1");
    c.add(c1);
    return new DefaultTreeModel(root);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:22,代码来源:LastNodeLowerHalfDrop.java

示例13: SelectionTreeItemListener

import javax.swing.tree.TreeModel; //导入依赖的package包/类
public SelectionTreeItemListener(SelectionPanel owner) {
	if (owner == null)
		throw new IllegalArgumentException();
	this.owner = owner;

	TreeModel model = owner.getTree().getModel();
	Object root = owner.getTree().getModel().getRoot();

	ePath = new TreePath(new Object[] { root, model.getChild(root, 0) });
	vPath = new TreePath(new Object[] { root, model.getChild(root, 1) });
}
 
开发者ID:KeepTheBeats,项目名称:alevin-svn2,代码行数:12,代码来源:SelectionTreeItemListener.java

示例14: updateTree

import javax.swing.tree.TreeModel; //导入依赖的package包/类
/**
 * Updates the tree according to the textual representation of the tree
 * model in the text area.
 */
private void updateTree() {
    String txt = textArea.getText();
    int tabSize = textArea.getTabSize();
    StringBuilder sb = new StringBuilder(tabSize);
    for (int i=0; i<tabSize; i++) {
        sb.append(" "); // NOI18N
    }
    txt = txt.replace("\t", sb.toString()); // NOI18N
    TreeModel model = propEditor.createTreeModel(txt);
    tree.setModel(model);
    expandTree();
    propEditor.setValue(model);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:TreeModelCustomizer.java

示例15: ExplorerTree

import javax.swing.tree.TreeModel; //导入依赖的package包/类
ExplorerTree(TreeModel model) {
    super(model);
    toggleClickCount = 0;

    // fix for #18292
    // default action map for JTree defines these shortcuts
    // but we use our own mechanism for handling them
    // following lines disable default L&F handling (if it is
    // defined on Ctrl-c, Ctrl-v and Ctrl-x)
    getInputMap().put(KeyStroke.getKeyStroke("control C"), "none"); // NOI18N
    getInputMap().put(KeyStroke.getKeyStroke("control V"), "none"); // NOI18N
    getInputMap().put(KeyStroke.getKeyStroke("control X"), "none"); // NOI18N
    getInputMap().put(KeyStroke.getKeyStroke("COPY"), "none"); // NOI18N
    getInputMap().put(KeyStroke.getKeyStroke("PASTE"), "none"); // NOI18N
    getInputMap().put(KeyStroke.getKeyStroke("CUT"), "none"); // NOI18N

    if (Utilities.isMac()) {
        getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.META_MASK), "none"); // NOI18N
        getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.META_MASK), "none"); // NOI18N
        getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.META_MASK), "none"); // NOI18N
    }

    setupSearch();

    if (!GraphicsEnvironment.isHeadless()) {
        setDragEnabled(true);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:29,代码来源:TreeView.java


注:本文中的javax.swing.tree.TreeModel类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。