Java JTree getTreeObject(JTree tree, Class type)

Here you can find the source of getTreeObject(JTree tree, Class type)

Description

Searches the given tree's selection path for a Node of the given type.

License

Open Source License

Declaration

public static <T extends Object> T getTreeObject(JTree tree, Class<T> type) 

Method Source Code

//package com.java2s;
/*//from   ww  w . j a v a  2  s. c  o m
 * Copyright (c) 2008, SQL Power Group Inc.
 *
 * This file is part of DQguru
 *
 * DQguru is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * DQguru is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>. 
 */

import javax.swing.JTree;

import javax.swing.tree.TreePath;

public class Main {
    /**
    * Searches the given tree's selection path for a Node of the given type.
    * Returns the first one encountered, or null if there are no selected
    * nodes of the given type.
    */
    public static <T extends Object> T getTreeObject(JTree tree, Class<T> type) {
        TreePath[] paths = tree.getSelectionPaths();
        if (paths == null || paths.length == 0) {
            return null;
        }
        for (int i = 0; i < paths.length; i++) {
            TreePath path = paths[i];
            for (Object o : path.getPath()) {
                if (o.getClass().equals(type))
                    return (T) o;
            }
        }
        return null;
    }
}

Related

  1. getExpansionState(JTree tree, int row)
  2. getProjectTree()
  3. getSelectionFromTree(JTree tree)
  4. getStopRow(JTree tree, int startRow)
  5. getTreeImage(String imageName)
  6. getTreeSelectionBorderColor()
  7. isPointOnTree(JTree tree, Point location)
  8. maxDepth(JTree tree, int depth)
  9. paint(JTree tree)