Example usage for javax.swing.tree DefaultMutableTreeNode getChildAt

List of usage examples for javax.swing.tree DefaultMutableTreeNode getChildAt

Introduction

In this page you can find the example usage for javax.swing.tree DefaultMutableTreeNode getChildAt.

Prototype

public TreeNode getChildAt(int index) 

Source Link

Document

Returns the child at the specified index in this node's child array.

Usage

From source file:org.olivier.ihm.FramePUMLCleanerControler.java

/**
 * Analyser le fichier PUML et initialiser le filtre
 *
 * @param jTextAreaFichier Le contenu du fichier PUML
 * @param jTreeFiltre Le filtre  initialiser
 *//*ww  w.  j a  v a2 s  . c om*/
private void analyserFichier(JTextArea jTextAreaFichier, JTree jTreeFiltre) {
    lines = jTextAreaFichier.getText().split("[\\r\\n]+");

    final DefaultMutableTreeNode newFilter = initaliserNodes();

    // parcours de chaque ligne du fichier pour analyse
    for (String line : lines) {
        if (line.contains(">")) {
            break;
        } else {
            String categ = "";
            String noeud = null;
            // recherche de la catgorie
            for (String categorie : categories) {
                if (line.contains(categorie)) {
                    categ = categorie;
                    noeud = line.replaceFirst(categorie, "").replaceAll(" ", "");
                    // ajout du noeud dans la bonne catgorie de l'arbre
                    for (int i = 0; i < newFilter.getChildCount(); i++) {
                        final DefaultMutableTreeNode dmtr = (DefaultMutableTreeNode) newFilter.getChildAt(i);
                        if (dmtr.toString().equals(categ)) {
                            final DefaultMutableTreeNode node = new DefaultMutableTreeNode(new NodeInfo(noeud));
                            dmtr.add(node);
                        }
                    }
                    break;
                }
            }
        }
    }
    jTreeFiltre.setModel(new DefaultTreeModel(newFilter));
    jTextAreaFichier.requestFocus();
}

From source file:org.olivier.ihm.FramePUMLCleanerControler.java

/**
 * Analyse une ligne et dtermine si elle est imprimable ou pas
 *
 * @param line La ligne  analyser/*  w  w w  . j  a  v  a  2  s .com*/
 * @param nodeToDelete Liste des noeuds  supprimer
 * @return True si la ligne doit etre imprime, false sinon
 */
private boolean isLinePrintable(String line, DefaultMutableTreeNode nodeToDelete) {
    boolean isPrintable = true;

    // parcours des catgories
    for (int i = 0; i < nodeToDelete.getChildCount(); i++) {
        final TreeNode categ = nodeToDelete.getChildAt(i);
        // parcours des noeuds  supprimer
        for (int j = 0; j < categ.getChildCount(); j++) {
            final DefaultMutableTreeNode noeudToDelete = (DefaultMutableTreeNode) categ.getChildAt(j);
            final String nomNoeudToDelete = noeudToDelete.toString();

            if (line.contains(nomNoeudToDelete)) {
                isPrintable = false;
                break;
            }
        }
        if (!isPrintable) {
            break;
        }
    }
    return isPrintable;
}

From source file:org.olivier.ihm.FramePUMLCleanerControler.java

/**
 * Renvoi la liste des noeuds non slectionns
 *
 * @param allTreeNode Liste de tous les noeuds
 * @param selectedPath Chemins slectionns
 * @return Liste des noeuds non slectionns
 *//*from w w  w  .  j  a  v a 2  s  . c om*/
private DefaultMutableTreeNode getNodeToDelete(DefaultMutableTreeNode allTreeNode, TreePath[] selectedPath) {
    final DefaultMutableTreeNode nodeToDelete = new DefaultMutableTreeNode("Node to delete");
    // Parcours de l'arbre pour supprimer les noeuds slectionns
    // Parcours des catgories  
    for (int i = 0; i < allTreeNode.getChildCount(); i++) {
        final DefaultMutableTreeNode tnCateg = (DefaultMutableTreeNode) allTreeNode.getChildAt(i);
        // les catgories sont systmatiquement ajoutes
        final DefaultMutableTreeNode newTnCateg = new DefaultMutableTreeNode(tnCateg.toString());//) allTreeNode.getChildAt(i);
        nodeToDelete.add(newTnCateg);
        // parcours des noeuds
        for (int j = 0; j < tnCateg.getChildCount(); j++) {
            final DefaultMutableTreeNode tnNoeud = (DefaultMutableTreeNode) tnCateg.getChildAt(j);
            // Ajout du noeud s'il n'est pas slectionn
            if (!isNoeudSelected(tnNoeud, selectedPath)) {
                /* 
                 Il est impratif de crer un nouveau noeud !
                 Si on se contente d'ajouter tnNoeud dans newTnCateg, celui-ci est supprim de tnCateg !
                 Visiblement, un noeud ne peut pas appartenir  2 arbres diffrents. Cela semble logique 
                 car la dfinition des anctres risque de poser problme.
                 A approfondir quand j'aurai le temps ...
                 */
                final DefaultMutableTreeNode newTnNoeud = new DefaultMutableTreeNode(
                        new NodeInfo(tnNoeud.toString()));
                newTnCateg.add(newTnNoeud);
            }
        }
    }
    return nodeToDelete;
}

From source file:org.olivier.ihm.FramePUMLCleanerControler.java

/**
 * Indique si un noeud est slectionn ou pas
 *
 * @param noeudATester Le noeud  tester//from www  .  ja v a  2  s .com
 * @param selectedPath La liste des noeuds slectionns
 * @return True si le noeud est slectionn, false sinon
 */
private boolean isNoeudSelected(final DefaultMutableTreeNode noeudATester, final TreePath[] selectedPath) {
    boolean isSelected = false;

    // parcours des categories
    for (TreePath path : selectedPath) {
        try {
            // Cette ligne plante quand on slectionne une catgorie complte d'ou le try-catch !
            final DefaultMutableTreeNode unNoeudSelectionner = (DefaultMutableTreeNode) path.getPath()[2];
            isSelected = noeudATester.toString().equals(unNoeudSelectionner.toString());
        } catch (ArrayIndexOutOfBoundsException ex) {
            // Quand on choisit une catgorie complte, il faut parcourir les noeuds de cette manire :
            // recup de la categorie
            final DefaultMutableTreeNode categ = (DefaultMutableTreeNode) path.getLastPathComponent();
            // parcours des noeuds dans la catgorie
            for (int j = 0; j < categ.getChildCount(); j++) {
                final TreeNode unNoeudSelectionner = categ.getChildAt(j);
                isSelected = noeudATester.toString().equals(unNoeudSelectionner.toString());
                if (isSelected) {
                    break;
                }
            }
        }
        // on sort de la boucle ds qu'on a la rponse
        if (isSelected) {
            break;
        }
    }

    return isSelected;
}

From source file:org.olivier.ihm.FramePUMLCleanerControler.java

/**
 * Slectionne les noeuds dans l'arbre de filtrage corespondant au motif
 * @param motif Le motif pour slectionner les noeuds
 * @param jTreeFiltre L'arbre de filtrage
 *//*from   w w  w  . j a  v a 2s  . c  o  m*/
public void selectionnerNoeud(String motif, JTree jTreeFiltre) {
    // TODO :  finir

    TreePath[] allPath = Util.getPaths(jTreeFiltre, true);
    // parcours des categories
    for (TreePath path : allPath) {
        // recup de la racine
        final DefaultMutableTreeNode root = (DefaultMutableTreeNode) path.getLastPathComponent();

        // parcours des catgories
        for (int j = 0; j < root.getChildCount(); j++) {
            final TreeNode categ = root.getChildAt(j);

            // parcours des noeuds
            for (j = 0; j < categ.getChildCount(); j++) {
                final TreeNode unNoeudSelectionner = categ.getChildAt(j);
                if (!unNoeudSelectionner.toString().contains(motif)) {

                }
            }
        }
    }
    checkTreeManager.getSelectionModel().setSelectionPaths(allPath);
}

From source file:org.openehealth.coms.cc.web_frontend.consentcreator.service.ConsentCreatorUtilities.java

/**
 * Sorts all Nodes and children of these Nodes by the name of their OIDObjects
 * // w  ww  . ja  v a  2s .  c o m
 * @param root
 */
public void sortTree(DefaultMutableTreeNode root) {

    Vector<DefaultMutableTreeNode> childrenV = new Vector<DefaultMutableTreeNode>();

    if (root.getChildCount() > 1) {

        for (int i = 0; i < root.getChildCount(); i++) {

            childrenV.add((DefaultMutableTreeNode) root.getChildAt(i));

        }

        root.removeAllChildren();

        boolean swapped = true;

        while (swapped) {
            swapped = false;

            for (int i = 0; i < childrenV.size() - 1; i++) {

                if (childrenV.elementAt(i).getChildCount() > 0) {
                    sortTree(childrenV.elementAt(i));
                }

                OIDObject oo1 = (OIDObject) childrenV.elementAt(i).getUserObject();
                OIDObject oo2 = (OIDObject) childrenV.elementAt(i + 1).getUserObject();

                DefaultMutableTreeNode node1 = childrenV.elementAt(i);
                DefaultMutableTreeNode node2 = childrenV.elementAt(i + 1);

                if (oo1.getName().compareTo(oo2.getName()) > 0) {

                    childrenV.setElementAt(node2, i);
                    childrenV.setElementAt(node1, i + 1);

                    swapped = true;
                }
            }
        }
        for (int i = 0; i < childrenV.size(); i++) {

            root.add(childrenV.elementAt(i));

        }
    }
}

From source file:org.openengsb.ui.admin.testClient.TestClient.java

private DefaultMutableTreeNode findService(DefaultMutableTreeNode node, ServiceId jumpToService) {
    if (node.isLeaf()) {
        Object userObject = node.getUserObject();
        if (jumpToService.equals(userObject)) {
            return node;
        }/*  w ww  .j a v  a  2s  . co m*/
    } else {
        for (int i = 0; i < node.getChildCount(); i++) {
            DefaultMutableTreeNode result = findService((DefaultMutableTreeNode) node.getChildAt(i),
                    jumpToService);
            if (result != null) {
                return result;
            }
        }
    }
    return null;
}

From source file:org.parosproxy.paros.extension.scanner.ExtensionScanner.java

public void sessionChanged(Session session) {
    AlertTreeModel tree = (AlertTreeModel) getAlertPanel().getTreeAlert().getModel();

    DefaultMutableTreeNode root = (DefaultMutableTreeNode) tree.getRoot();

    while (root.getChildCount() > 0) {
        tree.removeNodeFromParent((MutableTreeNode) root.getChildAt(0));
    }/*from   w  w  w  .j  ava 2s  .  c o m*/

    try {
        refreshAlert(session);
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

From source file:seleniumAutomation.flowControls.java

public static void parseNodes(javax.swing.tree.DefaultMutableTreeNode nodes) {
    for (int i = 0; i < nodes.getChildCount(); i++) {
        parseNodes((javax.swing.tree.DefaultMutableTreeNode) nodes.getChildAt(i));
    }//from   ww w  . j  av  a 2s  .c o  m
    if (nodes.getChildCount() == 0) {
        if (!testStep.isEmpty()) {
            if (!((javax.swing.tree.DefaultMutableTreeNode) nodes.getParent()).getLastChild().equals(nodes)) {
                testStep.add(nodes.getUserObject().toString());
            } else {
                testStep.add(nodes.getUserObject().toString());
                testSuite.put(testStep.get(0), testStep);
                testStep = new ArrayList<String>();
            }
        } else {
            testStep = new ArrayList();
            testStep.add(nodes.getUserObject().toString());
            testSuite.put(testStep.get(0), testStep);
        }
    }
}