How to add nodes to JTree???

Hi ,
i'm developing an application using the NetBeans 6.0. I was trying to add the Nodes on the "JMenuItem" Click event.
I know how to add the customized code to the JTree, but while adding following code to the JMenuItem's Click, does'nt work
Code :
private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt)
                   DefaultMutableTreeNode dm =new DefaultMutableTreeNode("Root Element");
                   dm.add(new DefaultMutableTreeNode("Child Node"));
                   Treeview=new javax.swing.JTree(dm);
}        Please help me out where i should write the code so that it will add the nodes to the JTree on JMenuItem's Click.
Thanks in Advance
- Hitesh

Read the tutorial: [Dynamically Changing a Tree|http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html#dynamic]

Similar Messages

  • How to dynamically add Nodes to JTree?

    How to add nodes to a Jtree by getting the information into a specific file
    For example, in JList:
    DefaultListModel workgroups;
    workgroups = new DefaultListModel();
    List<String> workgroupsList = new ArrayList<String>();
    workgroupsList = ParserUtils.getWorkgroupList(ParserUtils.getConfigPath() + "\\.workgroup.properties");
    if (!workgroupsList.isEmpty()){
         for (String workgroup : workgroupsList){
              workgroups.addElement(workgroup.toString().trim());
    workgroupList = new JList(workgroups); //adds the list workgroupsThe output of this will be a JList displaying the list of workgroups per line. The list could be found in a file name "workgroup.properties"
    Question is, is it possible to adapt this same method in JTree. The information per line will serve as one node in the tree. For example, I have 3 workgroups in the list, there will also be 3 nodes to be found in the tree.
    Any suggestions?
    THanks.

    There's a huge JTree example in the Swing tutorial. It's a bit of a beast to use.

  • How to add node

    I have two node RAC. One node has OS issue so we have to reinstall OS and Now I want to add new node.But ORACLE_HOME and ORA_CRS_HOME will be different for second home.
    Is it possible to have ORACLE_HOME differnt on each home?
    Means one the first node ORACLE_HOME is /opt/oracle/product/10.2.0/crs
    and on second node ORACLE_HOME will /export/home/oracle/product/10.2.0/crs
    How to add node in such condition?

    I have followed ML NOTE: 270512.1 and I am able to add clusterware on second Node
    When I have tried to "Add the RAC software to the new node" at time I am getting bellow error
    OUI-10009: There are no new nodes to add to this installation
    I have genrated trace using this command
    ./addNode.sh "CLUSTER_NEW_NODES=bullhead-rac2" -logLevel trace -debug
    Here it is
    Oracle Universal Installer, Version 10.2.0.3.0 Production
    Copyright (C) 1999, 2006, Oracle. All rights reserved.
    [main] [13:54:16:457] [NativeSystem.<init>:259] NullSecurityManager is set for Native System calls
    [main] [13:54:16:464] [Library.getInstance:95] Created instance of Library.
    [main] [13:54:16:465] [Version.isPre10i:189] isPre10i.java: Returning FALSE
    [main] [13:54:16:466] [UnixSystem.getCSSConfigType:2014] configFile=/var/opt/oracle/ocr.loc
    [main] [13:54:16:475] [Utils.getPropertyValue:221] keyName=ocrconfig_loc props.val=/dev/rdsk/c3t1d0s1 propValue=/dev/rdsk/c3t1d0s1
    [main] [13:54:16:476] [Utils.getPropertyValue:292] propName=local_only propValue=FALSE
    [main] [13:54:16:477] [UnixSystem.getCSSConfigType:2058] configType=false
    [main] [13:54:16:481] [Version.isPre10i:189] isPre10i.java: Returning FALSE
    [main] [13:54:16:482] [ClusterInfo.<init>:222] m_olsnodesPath=/oracle/product/10.2.0/crs/bin/olsnodes
    [main] [13:54:16:485] [RuntimeExec.runCommand:74] Calling Runtime.exec() with the command
    [main] [13:54:16:486] [RuntimeExec.runCommand:76] /oracle/product/10.2.0/crs/bin/olsnodes
    [main] [13:54:16:550] [RuntimeExec.runCommand:131] runCommand: Waiting for the process
    [Thread-2] [13:54:16:551] [StreamReader.run:61] In StreamReader.run
    [Thread-3] [13:54:16:551] [StreamReader.run:61] In StreamReader.run
    [Thread-2] [13:54:17:965] [StreamReader.run:65] OUTPUT>catfish-rac1
    [Thread-2] [13:54:17:969] [StreamReader.run:65] OUTPUT>bullhead-rac2
    [main] [13:54:18:62] [RuntimeExec.runCommand:133] runCommand: process returns 0
    [main] [13:54:18:63] [RuntimeExec.runCommand:147] RunTimeExec: output>
    [main] [13:54:18:64] [RuntimeExec.runCommand:150] catfish-rac1
    [main] [13:54:18:64] [RuntimeExec.runCommand:150] bullhead-rac2
    [main] [13:54:18:65] [RuntimeExec.runCommand:155] RunTimeExec: error>
    [main] [13:54:18:66] [RuntimeExec.runCommand:175] Returning from RunTimeExec.runCommand
    [main] [13:54:18:66] [ClusterInfo.getNodeNames:341] Number of nodes=2
    [main] [13:54:18:69] [ClusterInfo.getLocalNodeName:242] cmd=/oracle/product/10.2.0/crs/bin/olsnodes -l
    [main] [13:54:18:69] [RuntimeExec.runCommand:74] Calling Runtime.exec() with the command
    [main] [13:54:18:70] [RuntimeExec.runCommand:76] /oracle/product/10.2.0/crs/bin/olsnodes
    [main] [13:54:18:70] [RuntimeExec.runCommand:76] -l
    [Thread-5] [13:54:18:134] [StreamReader.run:61] In StreamReader.run
    [main] [13:54:18:135] [RuntimeExec.runCommand:131] runCommand: Waiting for the process
    [Thread-4] [13:54:18:134] [StreamReader.run:61] In StreamReader.run
    [Thread-4] [13:54:19:560] [StreamReader.run:65] OUTPUT>catfish-rac1
    [main] [13:54:19:626] [RuntimeExec.runCommand:133] runCommand: process returns 0
    [main] [13:54:19:627] [RuntimeExec.runCommand:147] RunTimeExec: output>
    [main] [13:54:19:628] [RuntimeExec.runCommand:150] catfish-rac1
    [main] [13:54:19:628] [RuntimeExec.runCommand:155] RunTimeExec: error>
    [main] [13:54:19:629] [RuntimeExec.runCommand:175] Returning from RunTimeExec.runCommand
    [main] [13:54:19:630] [ClusterInfo.getLocalNodeName:247] exit value 0
    [main] [13:54:19:631] [ClusterInfo.getLocalNodeName:253] output.length=1
    [main] [13:54:19:631] [ClusterInfo.getLocalNodeName:257] output[0]=catfish-rac1
    Starting Oracle Universal Installer...
    No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
    LD_LIBRARY_PATH environment variable :
    Total args: 25
    Command line argument array elements ...
    Arg:0:../../jdk/jre/bin/java:
    Arg:1:-Doracle.installer.library_loc=../lib/solaris:
    Arg:2:-Doracle.installer.oui_loc=/oracle/product/10.2.0/db_1/oui/bin/..:
    Arg:3:-Doracle.installer.bootstrap=FALSE:
    Arg:4:-Doracle.installer.startup_location=/oracle/product/10.2.0/db_1/oui/bin:
    Arg:5:-Doracle.installer.jre_loc=../../jre:
    Arg:6:-Doracle.installer.nlsEnabled="TRUE":
    Arg:7:-Doracle.installer.prereqConfigLoc= :
    Arg:8:-Doracle.installer.unixVersion=5.10:
    Arg:9:-mx96m:
    Arg:10:-cp:
    Arg:11:/tmp/OraInstall2007-10-09_01-54-01PM:../jlib/OraInstaller.jar:../jlib/oneclick.jar:../jlib/xmlparserv2.jar:../jlib/srvm.jar:../jlib/share.jar:../jlib/
    OraInstallerNet.jar:../jlib/xml.jar:../jlib/orai18n-collation.jar:../jlib/orai18n-mapping.jar:../jlib/emCfg.jar:../jlib/ojmisc.jar:../jlib/InstImages.jar:../
    jlib/InstHelp.jar:../jlib/InstHelp_de.jar:../jlib/InstHelp_es.jar:../jlib/InstHelp_fr.jar:../jlib/InstHelp_it.jar:../jlib/InstHelp_ja.jar:../jlib/InstHelp_ko
    .jar:../jlib/InstHelp_pt_BR.jar:../jlib/InstHelp_zh_CN.jar:../jlib/InstHelp_zh_TW.jar:../jlib/oracle_ice.jar:../jlib/help4.jar:../jlib/help4-nls.jar:../jlib/
    ewt3.jar:../jlib/ewt3-swingaccess.jar:../jlib/ewt3-nls.jar:../jlib/swingaccess.jar:../jlib/classes12.jar::../jlib/OraPrereq.jar:../jlib/jewt4.jar:../jlib/jew
    t4-nls.jar:
    Arg:12:oracle.sysman.oii.oiic.OiicInstaller:
    Arg:13:-scratchPath:
    Arg:14:/tmp/OraInstall2007-10-09_01-54-01PM:
    Arg:15:-sourceType:
    Arg:16:network:
    Arg:17:-timestamp:
    Arg:18:2007-10-09_01-54-01PM:
    Arg:19:-addNode:
    Arg:20:ORACLE_HOME=/oracle/product/10.2.0/db_1:
    Arg:21:CLUSTER_NEW_NODES=bullhead-rac2:
    Arg:22:-logLevel:
    Arg:23:severe:
    Arg:24:-debug:
    Initializing Java Virtual Machine from ../../jdk/jre/bin/java. Please wait...

  • How to add nodes to a Region

    Hi
    I need a pane where nodes are not automatically aligned.
    I think a Region would be right for that, but I could not find out how to add nodes to it?
    How could I extend a Region for adding nodes?
    Any help is appreciated.
    Regards

    Thanks! Exactly what I need.

  • Add node to JTree

    I have an already populated JTree. At Runtime I add one or more node to JTree, using something like
    parentNode.add(newNode)....
    If I call a repaint method, the new node isn't visible, I have to reload model using
    DefaultTreeModel dtm = ((DefaultTreeModel)myTree.getModel());
    TreeNode rootNode = (TreeNode) dtm.getRoot();
    dtm.reload(rootNode);
    Unfortunately this method cause the lost of focus on the currently selected node and the collapse of all JTree around its root node; If I change an existing node (for example changing its text or icon) I must reload the model too!!!
    Does exist an other more "soft" method to change the aspect of a JTree without reload the entire model?

    You must use or implement the
        public void valueForPathChanged(javax.swing.tree.TreePath path,java.lang.Object newNode) {
            Object[]    p = path.getPath();
            Object[]    pp = p;
            //insert node here
            int[] ci = new int[] {index};
            Object[] cc = new Object[] {node};
            fireTreeNodesChanged(this, pp, ci, cc);
            fireTreeStructureChanged(this, pp, ci, cc);
        }from the TreeModel. To fire the last two is essensial.
    I implemented a GP in JAVA so i had the same problem wehn i started.

  • How to add node value using org.w3c.dom.Document?

    Hi ,
    I'm using org.w3c.dom.Document to deal with xml files. I could successfully add nodes , and their attributes. However I could not add a value of the node. (e.g. <myNode>I couldn't add this value</myNode>)
    does anyone know how to deal with this?
    I tried subNode.setNodeValue("the value i can't add"); whereas the subNode is an instance of org.w3c.dom.Node... i know this is interface i of course used the concrete class
    org.apache.crimson.tree.ElementNode
    but when I used the subNode.getNodeValue() i simply got null?
    can u plz help me?
    thanks in advance

    Reading the API documentation for the Node interface might help. At least you wouldn't be surprised when the results are exactly what the documentation says they will be.
    What would really help would be forgetting the idea that an Element can have a value. Text nodes have values, though, so create a Text node and make it the child of the Element node.

  • How to add node in Java system NW 7.3 ehp1

    Hi Everyone,
    Hoe to add node in JAva System in Nw 7.3 ehp1.
    Whats are point which need to keep in mind before adding node?
    Regards
    Adil

    Hi Adil,
    Follow the below steps
    1.Start the Config Tool by double-clicking the configtool script file in <SAP_install_dir>/<system_name>/<instance_name>/j2ee/configtool directory.
    2.choose the Java instance according to the level you want to make configurations.
    3.Choose the Servers tab.
    4.In the Custom Number of Server Processes field, enter the number of server processes you want to have. Click on set and save the configuration
    Choose Check Value to verify that your server is capable of handling the number of server processes you entered. Correct the value if necessary.
    Restart the java engine.
    You need adjust the heap memory accordingly
    SAP Note 723909 - Java VM settings for J2EE 6.40/7.0
    Checked the sapnote if java don't come up
    1658950 - J2EE System fails with "exitcode = -2"
    http://scn.sap.com/community/performance-scalability/blog/2013/08/29/java-memory-sizing-procedure-pragmatic-approach
    With Regards
    Ashutosh Chaturvedi

  • How to highlight node in JTree?

    After the tree has been displayed, I want to highlight the nodes matching some certain keywords. How to implement that? Nothing useful is found in past threads.
    thanks.

    to take a wild guess:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    public class HighlightTreeNodeTest {
      private final JTree tree       = new JTree();
      private final JTextField field = new JTextField("foo");
      private final JButton button   = new JButton();
      private final MyTreeCellRenderer renderer =
        new MyTreeCellRenderer(tree.getCellRenderer());
      public JComponent makeUI() {
        field.getDocument().addDocumentListener(new DocumentListener() {
          @Override public void insertUpdate(DocumentEvent e) {
            fireDocumentChangeEvent();
          @Override public void removeUpdate(DocumentEvent e) {
            fireDocumentChangeEvent();
          @Override public void changedUpdate(DocumentEvent e) {}
        tree.setCellRenderer(renderer);
        renderer.q = field.getText();
        fireDocumentChangeEvent();
        JPanel p = new JPanel(new BorderLayout(5, 5));
        p.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
        p.add(field, BorderLayout.NORTH);
        p.add(new JScrollPane(tree));
        return p;
      private void fireDocumentChangeEvent() {
        String q = field.getText();
        renderer.q = q;
        TreePath root = tree.getPathForRow(0);
        collapseAll(tree, root);
        if (!q.isEmpty()) searchTree(tree, root, q);
        tree.repaint();
      private static void searchTree(JTree tree, TreePath path, String q) {
        TreeNode node = (TreeNode)path.getLastPathComponent();
        if (node==null) return;
        if (node.toString().startsWith(q)) tree.expandPath(path.getParentPath());
        if (!node.isLeaf() && node.getChildCount()>=0) {
          Enumeration e = node.children();
          while (e.hasMoreElements())
            searchTree(tree, path.pathByAddingChild(e.nextElement()), q);
      private static void collapseAll(JTree tree, TreePath parent) {
        TreeNode node = (TreeNode)parent.getLastPathComponent();
        if (!node.isLeaf() && node.getChildCount()>=0) {
          Enumeration e = node.children();
          while (e.hasMoreElements()) {
            TreeNode n = (TreeNode)e.nextElement();
            TreePath path = parent.pathByAddingChild(n);
            collapseAll(tree, path);
        tree.collapsePath(parent);
      public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
          @Override public void run() { createAndShowGUI(); }
      public static void createAndShowGUI() {
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        f.getContentPane().add(new HighlightTreeNodeTest().makeUI());
        f.setSize(320, 240);
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    class MyTreeCellRenderer extends DefaultTreeCellRenderer {
      private final TreeCellRenderer renderer;
      public String q;
      public MyTreeCellRenderer(TreeCellRenderer renderer) {
        this.renderer = renderer;
      @Override public Component getTreeCellRendererComponent(
          JTree tree, Object value, boolean isSelected, boolean expanded,
          boolean leaf, int row, boolean hasFocus) {
        JComponent c = (JComponent)renderer.getTreeCellRendererComponent(
            tree, value, isSelected, expanded, leaf, row, hasFocus);
        if (isSelected) {
          c.setOpaque(false);
          c.setForeground(getTextSelectionColor());
        } else {
          c.setOpaque(true);
          if (q!=null && !q.isEmpty() && value.toString().startsWith(q)) {
            c.setForeground(getTextNonSelectionColor());
            c.setBackground(Color.YELLOW);
          } else {
            c.setForeground(getTextNonSelectionColor());
            c.setBackground(getBackgroundNonSelectionColor());
        return c;
    }

  • How to rename node in JTree?(URGENT)

    Hi,all:
    I am facing a renaming problem in JTree. After I rename, the node still remain the old name, Could anybody tell me why and how to solve it?
    The piece of code is as follow:
    JTextField textField = new JTextField();
    newDndTree.setCellEditor(new MyCellEditor(newDndTree,textField));
    newDndTree.setEditable(true);
    class MyCellEditor extends DefaultCellEditor {
    private JTree tree;
    public MyCellEditor(JTree tree, JTextField text) {
    super(text);
    this.tree = tree;
    public boolean isCellEditable(EventObject e) {
    boolean rv = false; // return value
    if(e instanceof MouseEvent) {
    MouseEvent me = (MouseEvent)e;
    if(me.getClickCount() == 3) {
    TreePath path =
    tree.getPathForLocation(me.getX(), me.getY());     
    if(path.getPathCount() == 1) // root node
    return false;
    DefaultMutableTreeNode node =
    (DefaultMutableTreeNode) path.getLastPathComponent();
    Object hitObject=path.getLastPathComponent();
    if(hitObject instanceof TreeNode)
    return (((TreeNode)hitObject).isLeaf());
    return (false);

    Hi,all:
    My problem is it doesn't rename the node, the node remain the old name.
    My piece of code as follow:
    //Set Cell Editor
    newDndTree.setCellEditor(new MyCellEditor());
    //inner class MyCellEditor
    class MyCellEditor extends DefaultCellEditor {   
    public MyCellEditor() {     
    super(new JTextField());
    public boolean isCellEditable(EventObject e) {     
    if(e instanceof MouseEvent) {     
    MouseEvent me = (MouseEvent)e;     
    if(me.getClickCount() == 3) {      
    JTree tree = (JTree)me.getSource();     
    TreePath path = tree.getPathForLocation(me.getX(), me.getY());     
    if(path.getPathCount() == 1) {        
    //System.out.println("Root");     
    return false; // root node     
    DefaultMutableTreeNode node =     
    (DefaultMutableTreeNode) path.getLastPathComponent();     
    Object hitObject=path.getLastPathComponent();     
    if(hitObject instanceof TreeNode) {        
    TreeNode t = (TreeNode)hitObject;     
    boolean b = t.isLeaf();     
    if (b) {          
    //System.out.println("Leaf");     
    return (((TreeNode)hitObject).isLeaf());     
    //else System.out.println("Not Leaf");     
    // System.out.println("Exit");
    return false;
    }

  • How to select node in JTree without firing event?

    I have got standard situation. JTree in the left panel, and several edit boxes in right panel. Certainly, I have TreeSelectionListener, which on every tree node selection shows corresponding model values in edit boxes.
    I'd like to implement next logic:
    1. Something was changed in any edit box in right panel. Model has been changed.
    2. User clicks on different node in tree.
    3. Dialog "Message was not saved. Save?" with Yes/No/Cancel buttons are shown.
    Yes/No buttons are easy to handle.
    Question is about Cancel. I'd like on Cancel button left all edit boxes in their present state (do not restore values from saved model) and select back node, which wasn't saved.
    Problem is next. If I select node by setSelectionPath or smth like that, but... JTree fires event and my listener receives onTreeItemSelected back, which checks that node wasn't saved and ......
    Who does have any idea, or have done similar tasks? How can I select node and do not allow tree fire event this time?
    Thanks in advance.

    First, as soon as the model changes (when editing any
    combo box) some flag will be set. Now the logic which
    updates the combo boxes will do it only on a change of
    the current node and (this is new) if the flag wasn't
    set. You should have some flag anyway because somehow
    you must determine when to show the dialog, shouldn't
    you?Yes, I have got this logic implemented. But it's only the half :)
    I know exactly when my model has been changed, but if it was changed, i'd like to ask user what to do next - svae/loose changes/cancel
    And on cancel i'd like to select last edited tree node and do not get event from tree at that moment.
    >
    Second way, prevent selecting a new node if that flag
    has been set. You could do this by subclassing
    DefaultTreeSelectionModel and overriding some methods
    (setSelectionPath() et al).Ok. I'll investigate this.
    >
    MichaelThanks.

  • Can't Figure Out How to Add Nodes to Existing XML File by Attribute

    <?xml version="1.0" encoding="UTF-8"?>
    -<Project_Data>
    -<Project_Info>
    <Client>frankLINVILE</Client>
    <Name>COOKIE MONSTER INDICTMNET</Name>
    <Number>198883cookie</Number>
    <Tester>JK</Tester>
    <Reviewer>CM</Reviewer>
    <Location>Sesame Street, MD</Location>
    <SD>03/10/2015</SD>
    <Boring_Header>Boring1</Boring_Header>
    <Sample_Header>Sample2</Sample_Header>
    <Depth_Header>Depth3</Depth_Header>
    <Location_Header>Location4</Location_Header>
    <SD_Header>Sample Date5</SD_Header>
    <Remarks>asdf sdafas</Remarks>
    <Is_LOC_Global>True</Is_LOC_Global>
    <Is_SD_Global>True</Is_SD_Global>
    <Count>12</Count>
    <Has_MC_Data>N</Has_MC_Data>
    </Project_Info>
    -<Samples>
    -<Sample ID="@B1 S1 1-2 SESAME STREET, MD 03/10/2015">
    <Boring>b1</Boring>
    <Sample>s1</Sample>
    <Depth>1-2</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frank1</Remarks>
    <Login_Order>1</Login_Order>
    <Report_Order>1</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B2 S2 2-2 SESAME STREET, MD 03/10/2015">
    <Boring>b2</Boring>
    <Sample>s2</Sample>
    <Depth>2-2</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frakn2</Remarks>
    <Login_Order>2</Login_Order>
    <Report_Order>2</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B3 S3 3-3 SESAME STREET, MD 03/10/2015">
    <Boring>b3</Boring>
    <Sample>s3</Sample>
    <Depth>3-3</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frakn3</Remarks>
    <Login_Order>3</Login_Order>
    <Report_Order>3</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B4 S4 4-4 SESAME STREET, MD 03/10/2015">
    <Boring>b4</Boring>
    <Sample>s4</Sample>
    <Depth>4-4</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi4</Remarks>
    <Login_Order>4</Login_Order>
    <Report_Order>4</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B5 S5 5-5 SESAME STREET, MD 03/10/2015">
    <Boring>b5</Boring>
    <Sample>s5</Sample>
    <Depth>5-5</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi5</Remarks>
    <Login_Order>5</Login_Order>
    <Report_Order>5</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B6 S6 6-6 SESAME STREET, MD 03/10/2015">
    <Boring>b6</Boring>
    <Sample>s6</Sample>
    <Depth>6-6</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi6</Remarks>
    <Login_Order>6</Login_Order>
    <Report_Order>6</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B7 S7 7-7 SESAME STREET, MD 03/10/2015">
    <Boring>b7</Boring>
    <Sample>s7</Sample>
    <Depth>7-7</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi7</Remarks>
    <Login_Order>9</Login_Order>
    <Report_Order>9</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B8 S8 8-8 SESAME STREET, MD 03/10/2015">
    <Boring>b8</Boring>
    <Sample>s8</Sample>
    <Depth>8-8</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi8</Remarks>
    <Login_Order>10</Login_Order>
    <Report_Order>10</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B9 S9 9-9 SESAME STREET, MD 03/10/2015">
    <Boring>b9</Boring>
    <Sample>s9</Sample>
    <Depth>9-9</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi9</Remarks>
    <Login_Order>11</Login_Order>
    <Report_Order>11</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@B10 S10 10-10 SESAME STREET, MD 03/10/2015">
    <Boring>b10</Boring>
    <Sample>s10</Sample>
    <Depth>10-10</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi10</Remarks>
    <Login_Order>12</Login_Order>
    <Report_Order>12</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@FRANK FARKN2">
    <Boring>frank</Boring>
    <Sample>farkn2</Sample>
    <Depth> </Depth>
    <Location> </Location>
    <SD> </SD>
    <Remarks> </Remarks>
    <Login_Order>7</Login_Order>
    <Report_Order>7</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    -<Sample ID="@FRANK FRANK">
    <Boring>frank</Boring>
    <Sample>frank</Sample>
    <Depth> </Depth>
    <Location> </Location>
    <SD> </SD>
    <Remarks> </Remarks>
    <Login_Order>8</Login_Order>
    <Report_Order>8</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    </Samples>
    </Project_Data
    What I need to do is find the sample by its ID attribute...IN THEN add the following
    <MC_Data>
    <Wet>blah</Wet
    <Dry>blah</Dry>
    </MC_Data>
    Here is the code I have now, which doesn't work...
    Public Sub XML_Add_Child_Node_Group(Sample_ID As String, Which_Category As Integer)
            If File.Exists(Program_Settings_File.PG_Filepath) = False Then MsgBox("The program settings file for the program has been moved or deleted! Cancelled.") : Exit Sub
            Dim XMLFile As New Xml.XmlDocument, NewNode As Xml.XmlElement = Nothing, NewChild As Xml.XmlElement = Nothing
            XMLFile.Load(Current_File.Current_File_Path)
            Dim Root_Node As XmlNode = XMLFile.SelectSingleNode("/Project_Data/Samples/[@ID='" & Sample_ID & "']")
            Dim Root_Element As Xml.XmlElement = CType(XMLFile.SelectSingleNode("/Project_Data/Samples/[@ID='" & Sample_ID & "']"), XmlElement)
            '1 = Add MC nodes
            Select Which_Category
                Case 1
                    '----Add new node.
                    NewNode = XMLFile.CreateElement("MC_Data")
                    '----Add children nodes.
                    NewChild = XMLFile.CreateElement("MC_Wet") : NewNode.AppendChild(NewChild)
                    'MsgBox(NewNode.Name)
                    NewChild = XMLFile.CreateElement("MC_Dry") : NewNode.AppendChild(NewChild)
                    NewChild = XMLFile.CreateElement("MC_Tare") : NewNode.AppendChild(NewChild)
                    NewChild = XMLFile.CreateElement("MC_Tare_No") : NewNode.AppendChild(NewChild)
                    NewChild = XMLFile.CreateElement("MC_Remarks") : NewNode.AppendChild(NewChild)
                    NewChild = XMLFile.CreateElement("MC_MC") : NewNode.AppendChild(NewChild)
                    Root_Element.AppendChild(NewNode)
            End Select
            '----Add entire tree.
            XMLFile.Save(Current_File.Current_File_Path)
        End Sub
    No matter what, it will not add these nodes. Can anyone help me out? Thanks ahead of time...
    Shawn

    Here is the XML
    <?xml version="1.0" encoding="UTF-8"?>
    <Project_Data>
    <Project_Info>
    <Client>frankLINVILE</Client>
    <Name>COOKIE MONSTER INDICTMNET</Name>
    <Number>198883cookie</Number>
    <Tester>JK</Tester>
    <Reviewer>CM</Reviewer>
    <Location>Sesame Street, MD</Location>
    <SD>03/10/2015</SD>
    <Boring_Header>Boring1</Boring_Header>
    <Sample_Header>Sample2</Sample_Header>
    <Depth_Header>Depth3</Depth_Header>
    <Location_Header>Location4</Location_Header>
    <SD_Header>Sample Date5</SD_Header>
    <Remarks>asdf sdafas</Remarks>
    <Is_LOC_Global>True</Is_LOC_Global>
    <Is_SD_Global>True</Is_SD_Global>
    <Count>12</Count>
    <Has_MC_Data>N</Has_MC_Data>
    </Project_Info>
    <Samples>
    <Sample ID="@B1 S1 1-2 SESAME STREET, MD 03/10/2015">
    <Boring>b1</Boring>
    <Sample>s1</Sample>
    <Depth>1-2</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frank1</Remarks>
    <Login_Order>1</Login_Order>
    <Report_Order>1</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B2 S2 2-2 SESAME STREET, MD 03/10/2015">
    <Boring>b2</Boring>
    <Sample>s2</Sample>
    <Depth>2-2</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frakn2</Remarks>
    <Login_Order>2</Login_Order>
    <Report_Order>2</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B3 S3 3-3 SESAME STREET, MD 03/10/2015">
    <Boring>b3</Boring>
    <Sample>s3</Sample>
    <Depth>3-3</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>frakn3</Remarks>
    <Login_Order>3</Login_Order>
    <Report_Order>3</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B4 S4 4-4 SESAME STREET, MD 03/10/2015">
    <Boring>b4</Boring>
    <Sample>s4</Sample>
    <Depth>4-4</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi4</Remarks>
    <Login_Order>4</Login_Order>
    <Report_Order>4</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B5 S5 5-5 SESAME STREET, MD 03/10/2015">
    <Boring>b5</Boring>
    <Sample>s5</Sample>
    <Depth>5-5</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi5</Remarks>
    <Login_Order>5</Login_Order>
    <Report_Order>5</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B6 S6 6-6 SESAME STREET, MD 03/10/2015">
    <Boring>b6</Boring>
    <Sample>s6</Sample>
    <Depth>6-6</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi6</Remarks>
    <Login_Order>6</Login_Order>
    <Report_Order>6</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B7 S7 7-7 SESAME STREET, MD 03/10/2015">
    <Boring>b7</Boring>
    <Sample>s7</Sample>
    <Depth>7-7</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi7</Remarks>
    <Login_Order>9</Login_Order>
    <Report_Order>9</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B8 S8 8-8 SESAME STREET, MD 03/10/2015">
    <Boring>b8</Boring>
    <Sample>s8</Sample>
    <Depth>8-8</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi8</Remarks>
    <Login_Order>10</Login_Order>
    <Report_Order>10</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B9 S9 9-9 SESAME STREET, MD 03/10/2015">
    <Boring>b9</Boring>
    <Sample>s9</Sample>
    <Depth>9-9</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi9</Remarks>
    <Login_Order>11</Login_Order>
    <Report_Order>11</Report_Order>
    <Has_Data>Y</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@B10 S10 10-10 SESAME STREET, MD 03/10/2015">
    <Boring>b10</Boring>
    <Sample>s10</Sample>
    <Depth>10-10</Depth>
    <Location>SESAME STREET, MD</Location>
    <SD>03/10/2015</SD>
    <Remarks>hi10</Remarks>
    <Login_Order>12</Login_Order>
    <Report_Order>12</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@FRANK FARKN2">
    <Boring>frank</Boring>
    <Sample>farkn2</Sample>
    <Depth> </Depth>
    <Location> </Location>
    <SD> </SD>
    <Remarks> </Remarks>
    <Login_Order>7</Login_Order>
    <Report_Order>7</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    <Sample ID="@FRANK FRANK">
    <Boring>frank</Boring>
    <Sample>frank</Sample>
    <Depth> </Depth>
    <Location> </Location>
    <SD> </SD>
    <Remarks> </Remarks>
    <Login_Order>8</Login_Order>
    <Report_Order>8</Report_Order>
    <Has_Data>N</Has_Data>
    <Has_MC_Data>N</Has_MC_Data>
    <Has_GSA_Data>N</Has_GSA_Data>
    <Has_P_Data>N</Has_P_Data>
    <Has_C_Data>N</Has_C_Data>
    <Has_H_Data>N</Has_H_Data>
    <Has_USDA_Data>N</Has_USDA_Data>
    <Has_CM_Data>N</Has_CM_Data>
    <Has_UCS_Data>N</Has_UCS_Data>
    <Has_Cons_Data>N</Has_Cons_Data>
    <Has_ConsSw_Data>N</Has_ConsSw_Data>
    <Has_Pills_Data>N</Has_Pills_Data>
    <Has_UCSC_Data>N</Has_UCSC_Data>
    </Sample>
    </Samples>
    </Project_Data>
    jdweng

  • How to add node in tree.

    hi all
    I want to add a new node to tree. Can we add new node to a tree? plz help me out.
    sarah

    hi Arun.
    My code will be something like this.
    DECLARE
    htree ITEM;
    rg_data RECORDGROUP;
    BEGIN
    -- Find the tree itself.
    htree := Find_Item('control.emp_tree');
    -- Find the record group.
    rg_data := FIND_GROUP('rg1');
    -- Add the new node at the top level and children.
    Ftree.Add_Tree_Data(htree,
    Ftree.ROOT_NODE,
    Ftree.PARENT_OFFSET,
    Ftree.LAST_CHILD,
    Ftree.RECORD_GROUP,
    rg_data);
    END;
    if i use add_tree but i think it will add all the same nodes down. guide me plz. i am confused.
    sarah

  • How-To Add JTree nodes on Expanding

    I'm connecting to a database to retrieve information for my JTree, but when I populate my JTree it takes forever due to the table size I'm extracting from. (Big tree). Is there a way to wait until someone opens a folder to add nodes to it?
    Thanks for any help.

    Hi, another way you can thing about is to create your own Userobject and if the valueChanged you can populate your userObject in the TreeSelectionListener.
    The only thing your UserObject must have a toString method. so you can implement a Method which is populating your Sub-Tree direct in your UserObject by invoking it from the TreeSelectionListener.
    With getLastSelectedPathComponent() you can get the point where you have to add your children
    if you have allowed children. This should also work without your own UserObjects.
    I hope this helps.
    Greetings Michael

  • Add node to a specific node in JTree

    I use the following TreePanel class to add node to the tree. My question is how to add a new node under
    a specific node which has been created before. In other words, how to get the path and identify the node.
    For e.g., I first loaded some raw data files and created the "raw data" node, later I need to load another file
    and create a new node under the "raw data" node. Each node is created by using user object. Any help is greatly appreicated.
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    public class TreePanel extends JPanel {
      protected DefaultMutableTreeNode rootNode;
      protected DefaultTreeModel treeModel;
      protected JTree tree;
      public TreePanel() {
        super(new GridLayout(1,0));
        rootNode = new DefaultMutableTreeNode("Experiment");
        treeModel = new DefaultTreeModel(rootNode);
        tree = new JTree(treeModel);
        tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
        tree.setShowsRootHandles(true);
        JScrollPane scrollPane = new JScrollPane(tree);
        add(scrollPane);
      public JTree getTree(){
        return tree;
      /* Add child to the currently selected node. */
      public DefaultMutableTreeNode addObject(Object child){
        DefaultMutableTreeNode parentNode = null;
        TreePath parentPath = tree.getSelectionPath();
        if(parentPath == null){
          parentNode = rootNode;
        else{
          parentNode = (DefaultMutableTreeNode)(parentPath.getLastPathComponent());
        return addObject(parentNode, child, true);
      /* Add child */
      public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, Object child){
        return addObject(parent, child, false);
      /* Add child */
      public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, Object child, boolean shouldBeVisible){
        DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);
        if(parent == null){parent = rootNode;}
        treeModel.insertNodeInto(childNode, parent, parent.getChildCount());
        if(shouldBeVisible){
          tree.scrollPathToVisible(new TreePath(childNode.getPath()));
        return childNode;
      /* Add child */
      public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, DefaultMutableTreeNode child){
       if(parent == null){parent = rootNode;}
       treeModel.insertNodeInto(child, parent, parent.getChildCount());
       return child;
    }Thanks in advance!

    public static DefaultMutableTreeNode findNode(DefaultMutableTreeNode from, Object userObject) {
              if (userObject == null && from.getUserObject() == null) {
                   return from;
              } else if (userObject.equals(from.getUserObject())) {
                   return from;
              DefaultMutableTreeNode node = null;
              for (int i = 0; i < from.getChildCount(); i ++) {
                   node = (DefaultMutableTreeNode) from.getChildAt(i);
                   if (userObject == null) {
                        if (userObject == node.getUserObject()) {
                             break;
                   } else {
                        if (userObject.equals(node.getUserObject())) {
                             break;
                   node = null;
              if (node != null) {
                   return node;
              //Node not found
              //dig deeper
              for (int i = 0; i < from.getChildCount(); i ++) {
                   node = (DefaultMutableTreeNode) from.getChildAt(i);
                   if (!node.isLeaf()) {
                        node = findNode(node, userObject);
                        if (node != null) {
                             return node;
              //Not found
              return null;
         }     

  • How to know which leaf node i click and how to add a listener to each node?

    hi! hello to all members, i have a problem i know how to create a listener, but i dont know how to add a listener to each leaf node. here is the scenario i want to do, i have a JTree where theres a topic that you can select on each leaf node, so when the user click the specific topic it will open another JFrame,which i dont know how to do it also, that its! the next problem will be how do i know which leaf node i select, so that i can open a right topic before the JFrame will open?please, i am very need this to solve quickly as possible. thanks again to all members.

    What you have to do is to add a mouse listener on your JTree. Try something like this:
    tree.addMouseListener(new java.awt.event.MouseAdapter() {
             public void mouseReleased(MouseEvent e) {
                tree_mouseReleased(e);
    private void tree_mouseReleased(MouseEvent e) {
          TreePath selPath = tree.getSelectionPath();
          // Check If the click is the Right Click
          if (e.isPopupTrigger() == true) {
          // This is your right Click
           else {
                     // This is your Left Click
    }Your other problem: Set the userObject on nodes and on left click compare it with your object, if it matches, display the appropriate file. Alternatively, if your nodes are unique, you can match the names to open the file.
    Hope this Helps
    Regard
    Raheel

Maybe you are looking for