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;
     }     

Similar Messages

  • How to get the following-sibling nodes until a specific node

    XSL people,
    I need to get all the following-sibling nodes for every <h> node until the next <h> node.
    Example:
    <body>
    <h>Header1</h>
    <a>Line 11</a>
    <b>Line 12</b>
    <c>Line 13</c>
    <a>Line 14</a>
    <h>Header2</h>
    <a>Line 21</a>
    <c>Line 22</c>
    <a>Line 23</a>
    <b>Line 24</b>
    </body>
    So I need to get this strings:
    from the first <h> node: Line 11Line 12Line 13Line 14
    from the second <h> node: Line 21Line 22Line 23
    When using following-sibling
    <xsl:value-of select="following-sibling::a"/>
    <xsl:value-of select="following-sibling::b"/>
    <xsl:value-of select="following-sibling::c"/>
    I am not getting the second <a> node (of course!), so for the first <h> node I am only getting
    Line 11Line 12Line 13
    and not
    Line 11Line 12Line 13Line 14
    and I don't know how to get it.
    Thank you.
    Anatoliy Smirnov

    Thanks Sudipto for trying to help. I did try that, and as I mentioned in the previous posting, it doesn't work for the tree nodes (multiple RowSetIterator). the following is my code, where the treeVO is the vo instance for the firstLevel tree nodes and it has view link to its children. I am not sure how to sort all children for each level. Even for the first level where I did the explicit sorting in memory, it still not sorting at all.
    treeVO.setSortBy("code");
    treeVO.setQueryMode(ViewObject.QUERY_MODE_SCAN_ENTITY_ROWS|ViewObject..QUERY_MODE_SCAN_DATABASE_TABLES);
    treeVO.executeQuery();

  • JTree - need to get the value of a node at a specific node in the tree

    For Example here is a tree:
    Root
    -Item1
    A
    B
    C
    -Item2
    A
    B
    C
    Scenario: Somebody selects B in Item2 from the tree and drags it to a JList. Need to be able to tell the JList that the B came from Item2 and not Item1. So how do I get the Item1, Item2 value? Thanks in advance for all your help.
    Here is the code I am working with...so I have a TreeSelectionEvent(e), a DefaultMutableTreeNode(node) and my JTree(mainTree)
    public void valueChanged(TreeSelectionEvent e) {
    DefaultMutableTreeNode node = (DefaultMutableTreeNode) mainTree.getLastSelectedPathComponent();
    getChildren(node);

    public void valueChanged(TreeSelectionEvent e) {
       javax.swing.tree.TreePath path = e.getPath();
       ...Then use path.getLastPathComponent() and path.getParentPath().getLastPathComponent() methods.
    Tristan

  • IXML - Checking if a specific node exists in XML data

    Hi,
    I´m reading XML data by using iXML classes. One XML file I´m reading contains header and
    item data.
    Right now I´m starting with reading the header attributes and then read all nested nodes and their attribute data. That works all fine, but now I had the error, that the XML file wrongly didn´t contain the items.
    My XML reading method then ended up in a dump because the node was null:
    l_node = l_iterator->get_next( ).
    Can anybody give me an advice, how to check at the beginning of reading my xml data, if a specific node (in my case the node for items) exists in the XML data? If not, I want to stop with an error message. I want to check that at the beginning, before reading all element data, to keep my method structured.
    Thank you very much!

    Hi,
    You can create a filter and set that filter to the iterator. If this is done the iterator returns you only the node with a specific node name or node ID.
    You can also check the parsing in the following WIKI code gallery
    https://wiki.sdn.sap.com/wiki/x/JoDmAQ
    Subroutines create_set_filter_attribute and parse_xml_file would be helpful.

  • Add attribute to a XML node at a specific position

    I have this XML :
    var myNode:XML = <node attribute="123"/>
    I know how to add an attribute to the node :
    myNode.@otherAttribute = "abc";
    But this adds the attribute to the end. What if I want to add it as the first attribute ? I would like to have :
    <node otherAttribute="abc" attribute="123"/>
    I know it is possible to add a child node to a specific position with insertChildAfter() or insertChildBefore() but I don't know if it's possible for an attribute.

    there's no native method for this, maybe you should create some functions for this. just like
    private function setAttribute(node:XML, name:String, value:String, index:int = -1):void
        var attrs:XMLList = node.attributes().copy(),
            l:int = attrs.length();
        if(index == -1 || index > l - 1)
            node.@[name] = value;
        else
            delete node.@*;
            var idx:int = 0;
            for (var i:int = 0; i < l + 1; i++)
                if(i == index)
                    node.@[name] = value;
                else
                    var attr:XML = attrs[idx];
                    node.@[attr.name()] = attr.toString();
                    idx++;
    and use it like this:
    setAttribute(myNode, "otherAttribute", "abc", 0);

  • How to blick tree view few specific nodes

    here i got a code which show how to blink tree view node but i am confuse that how to blink few node.
    Answered by:
    Avatar of Tamer Oz
    20,185
    Points
    Top 0.5
    Tamer Oz
    Partner Joined Sep 2009
    2
    8
    17
    Tamer Oz's threads
    Show activity
    Treeview control - How to make a node blink?
    Visual Studio Languages
    .NET Framework
    >
    Visual C#
    Question
    Alert me
    Question
    Vote as helpful
    0
    Vote
    Hi,
    Is there a "elegant" way to make blink a treeview node?
    I am thinking to use a timer with the collection of nodes that I want to make the blink effect, and update the icon ...
    Friday, November 06, 2009 6:19 PM
    Reply
    |
    Quote
    |
    Report as abuse
    Avatar of Kikeman
    Kikeman
    R. BOSCH
    105 Points
    All replies
    Question
    Vote as helpful
    0
    Vote
    Hi,
    You can develop your custom control for this purpose. The logic you mentioned was correct. Here is a sample control that I developed by the logic you mentioned.
    public class BlinkingTreeView : TreeView
    private Timer t = new Timer();
    private List<TreeNode> blinkingNodes = new List<TreeNode>();
    public BlinkingTreeView()
    t.Interval = 1000;
    t.Tick += new EventHandler(t_Tick);
    bool isNodeBlinked = false;
    void t_Tick(object sender, EventArgs e)
    foreach (TreeNode tn in blinkingNodes)
    if (isNodeBlinked)
    //update Icon
    tn.Text = tn.Text.Substring(0, tn.Text.Length - 1);//to test
    isNodeBlinked = false;
    else
    //update Icon
    tn.Text = tn.Text + "*";//to test
    isNodeBlinked = true;
    public void AddBlinkNode(TreeNode n)
    blinkingNodes.Add(n);
    public void RemoveBlinkNode(TreeNode n)
    blinkingNodes.Remove(n);
    public void ClearBlinkNodes()
    blinkingNodes.Clear();
    public List<TreeNode> BlinkingNodes
    get { return blinkingNodes; }
    public int BlinkInterval
    get { return t.Interval; }
    set { t.Interval = value; }
    public void StartBlinking()
    isNodeBlinked = false;
    t.Enabled = true;
    public void StopBlinking()
    t.Enabled = false;
    just show me how to use BlinkingTreeView class. i will have tree view which will have few node and few nodes may have few child nodes. now how to achieve by this class BlinkingTreeView and show me how to blink few specific node not all. thanks

    better to come with code. first populate tree view with some dummy node this way
    Root
           Child1
                    Child1-sub1
                    Child1-sub2
           Child2
                    Child2-sub1
                    Child2-sub2
    now blink Child1-sub2 & Child2-sub1. please come with code. thanks

  • How to expand a tree at a specific node/item?

    Hi,
    we have a tree and the nodes/items were binded to context with this code
    lo_nd_nvccmp = wd_context->get_child_node( name = wd_this->wdctx_nvccmp ).
    lo_nd_tree = lo_nd_nvccmp->get_child_node( name = wd_this->wdctx_tree ).
    lo_el_tree = lo_nd_tree->bind_structure( new_item = ls_tree set_initial_elements = abap_false ).
    We want that the tree is expanded at a specific node/item?
    The structure has the field is_expanded of type WDY_BOOLEAN. I think that if the field of the right structure is 'X' then the tree should expanded. How can we find the right structure in the context and change this field to 'X'?
    Code is appreciated.
    Thanks, regards
    Susanne

    Oh, apparently if you try that call right after you create
    the Tree, it will throw a null reference exception. That might
    count as a bug in the flex api...
    If you create a Tree, and give it's dataProvider some xml
    data, and then add it to the stage (addChild), and then you call
    expandItem or expandChildrenOf() right after, you will get a null
    object exception. You have to wait... for something. I don't know
    what.
    I even tried calling _tree.invalidateList() before the
    expandItem, but it will still throw the error...
    I wonder what the Tree needs to wait for? Is this a bug for
    Adobe to fix?

  • Xml in JTree: how to not collpase JTree node, when renaming XML Node.

    Hi.
    I'm writing some kind of XML editor. I want to view my XML document in JTree and make user able to edit contents of XML. I made my own TreeModel for JTree, which straight accesses XML DOM, produced by Xerces. Using DOM Events, I made good-looking JTree updates without collapsing JTree on inserting or removing XML nodes.
    But there is a problem. I need to produce to user some method of renaming nodes. As I know, there is no way to rename node in w3c DOM. So I create new one with new name and copy all children and attributes to it. But in this way I got a new object of XML Node instead of renamed one. And I need to initiate rebuilding (treeStructureChanged event) of JTree structure. Renamed node collapses. If I use treeNodesChanged event (no rebuilding, just changes string view of JTree node), then when I try to operate with renamed node again, exception will be throwed.
    Is there some way to rename nodes in my program without collpasing JTree?
    I'am new to Java. Maybe there is a method in Xerces DOM implementation to rename nodes without recreating?
    Thanks in advance.

    I assume that "rename" means to change the element name? Anyway your question seems to be "When I add a node to a JTree, how do I make sure it is expanded?" This is completely concerned with Swing, so it might have been better to post it in the Swing forum, but if it were me I would do this:
    1. Copy the XML document into a JTree.
    2. Allow the user to edit the document. Don't attempt to keep an XML document or DOM synchronized with the contents of the JTree.
    3. On request of the user, copy the JTree back to a new XML document.
    This way you can "rename" things to the user's heart's content without having the problem you described.

  • JBoss cluster - call to a specific node

    Hi!
    is it possible to send a remotecall only to a specific node in the cluster?
    Simple example:
    I have three nodes in my cluster (A, B, C) and i want to send a call only to an object on node C. Node A and B shouldn't be involved in this call.
    Best Regards
    Hendrik

    Hi,
    Assuming "doc" is an XMLType variable containing your XML document, you can do :
    SELECT insertchildxml(doc, 'ROWSET', '@IS_SUCCESS', '1') INTO doc FROM dual;Slightly off-topic, but to add attributes to ROW elements, DBMS_XMLGEN can handle it for us provided we prefix column aliases with "@".
    For example :
    SQL> SELECT dbms_xmlgen.getXML('SELECT ''Hello!'' as "@msg" FROM dual') FROM dual;
    DBMS_XMLGEN.GETXML('SELECT''HE
    <?xml version="1.0"?>
    <ROWSET>
    <ROW msg = "Hello!">
    </ROW>
    </ROWSET>
    Edited by: odie_63 on 2 nov. 2010 12:50 - added remark on ROW attributes

  • Add a button after each node of my tree

    Hi !
    I would like to add a button after each node of my tree. I think I have to create a new TreeCelleRenderer but I really don't know how to make it. Can someone help me and give me an idea (or an example !) about the code.
    When I click the button, I must know from which node the event comes.
    thanks.
    delph

    Hi, how did you resolve the problem. Well it's long time from your posting, but maybe someone else can help me...
    I'm creating similar JTree where's print and save buttons in some of the nodes. I created custom cell renderer which extends JPanel and holds images, text and the buttons inside it. Is it possible to link buttons' actionlisteners somehow to the nodes. I tried it customizing cell editor, but I can't get button events fired. I also tried to catch "button clicked" action using mouse listener in my tree and that worked somehow and can be used as quick and dirty solution. Still I want to do it better way.
    -e

  • Move node and its silings from one jtree to another

    Hi,
    I am trying to move JTree nodes and its siblings from one JTree to another. If anyone has the code, please post it on the website or mail to [email protected]
    Thanks
    Pavan

    Pavan,
    You may have to do a sanity check before adding it.
    Better run the program in a debugger and have a break point at the clipBoard.put() line. Else system.out.println() lines will kill enormouse programming time rather than using debugger.
    Also in following this thread, i found that you may have to be bit more thorough with the DefaultMutableTreeNode class first.
    Thanks,
    ananth
    Thomas,
    for (int p = 0; p < jtree.getSelectionCount(); p++) {
                   System.out.println(".3.......p= "+p);
    node =
    =
    (EuamDefaultMutableTreeNode)paths[p].getLastPathCompon
    nt();
                        clipBoard.put(node.toString(), node);
                   System.out.println(".4...........");
    Giving error at clipBoard.put()
    line....java.lang.NullPointerException
    ..Any idea why?
    Thanks.
    Pavan

  • How can I add an attribute to a node?

    Hi,
    How can I add an attribute to a node of a DOM Document?
    I want to add attribute Maximum="6" for all Grade node as <Grade Maximum="6">.
    Grade is a third level node in my document.
    Thanks

    Hi,
    How can I add an attribute to a node of a DOM
    Document?
    I want to add attribute Maximum="6" for all Grade node
    as <Grade Maximum="6">.
    Grade is a third level node in my document.
    ThanksGet the father of "Grade" elements as an element. Then get all elements named "Grade", and for each one set attribute "Maximum" with value "6". If you read api documentation you will know which methods to use.
    But for helping you in getting the "Grade" parent.
    1) get the root element of the Dom Doc
    2)get the father of the "Grade" father: getElementsBytagName("his name") -> it will return a Node List get the first element casting as Element if there's only one, or elese if not case
    3)the same method in 2 get the "Grade" father
    4)getElementByTagName("Grade") over the "Grade" father -> for each "grade" element on nodelist do whatever you need
    i hope u understood...

  • Can't add new element to model node from web service

    Hi Folks,
    we are using the old WebService (not adaptive one) for calling a service on XI. We are reusing the same service for loading the data and also sending them back to the backend to modify, delete or add new elements. Request and response tree structure consist basically of the same structure.
    Now everything works fine so far except adding a new element to the model tree.
    So what are we doing:
    After calling the service for reading (and invalidate on the response), we copy the received data from response node into the request node. All the view forms are bound to the model elements in the request.
    Modifying single attributes worked just fine (from dialog and programatically). A new element we add to the model tree shows up in the dialog and seems to work equally fine, but when we trigger the service call to send the collected data, every change to the model data is send except the new added element. It just won't be send.
    What's the problem here? Seems to me this must be somehow related to the supplying relation role maybe.
    What code do you need to look at and how do I mark code in the new forum editor so it gets displayed properly formatted?
    Thanks,
      ok

    Hi,
    Can you tell me which code are you using currently for transferrring the data? It might help me to figure out what your problem is.

  • XSLT Mapping - replacing attribute value of a specific node

    Hi,
    I want to replace the value of an attribute for a specific node. Can you please tell me how this can be achieved using XSLT coding?
    The input file is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <GovTalkMessage xmlns="http://www.govtalk.gov.uk/CM/envelope">
         <EnvelopeVersion>2.0</EnvelopeVersion>
         <Header>
              <MessageDetails>
                   <Class>IR-PAYE-MOV</Class>
                   <Qualifier>request</Qualifier>
                   <Function>submit</Function>
                   <CorrelationID/>
                   <Transformation>XML</Transformation>
                   <GatewayTimestamp/>
              </MessageDetails>
              <SenderDetails>
                   <IDAuthentication>
                        <SenderID>isv142</SenderID>
                        <Authentication>
                             <Method>MD5</Method>
                             <Value>1L2xFE8WqHHI5iVMGhixAg==</Value>
                        </Authentication>
                   </IDAuthentication>
              </SenderDetails>
         </Header>
         <GovTalkDetails>
              <Keys>
                   <Key Type="TaxOfficeNumber">123</Key>
                   <Key Type="TaxOfficeReference">MD345</Key>
              </Keys>
              <ChannelRouting>
                   <Channel>
                        <URI>0142</URI>
                   </Channel>
              </ChannelRouting>
         </GovTalkDetails>
         <Body>
              <IRenvelope xmlns="http://www.govtalk.gov.uk/taxation/PAYE/MOV/09-10/1">
                   <IRheader>
                        <Keys>
                             <Key Type="TaxOfficeNumber">123</Key>
                             <Key Type="TaxOfficeReference">MD345</Key>
                        </Keys>
                        <PeriodEnd>2009-09-29</PeriodEnd>
                        <DefaultCurrency>GBP</DefaultCurrency>
                        <IRmark Type="generic">03Bfkipk6UDWSXLj77ObBVoK894=</IRmark>
                        <Sender>Company</Sender>
                   </IRheader>
                   <InYearMovements>
                        <EmployerName>form p60</EmployerName>
                        <P46 Statement="A">
                             <Name>
                                  <Fore>Smith</Fore>
                                  <Sur>John</Sur>
                             </Name>
                             <Address>
                                  <Line>Sterling Residency</Line>
                                  <Line>Gehde</Line>
                                  <Line>Hedge End</Line>
                                  <Line>Southampton</Line>
                                  <PostCode>12345678</PostCode>
                             </Address>
                             <WorksNumber>20090030</WorksNumber>
                             <NINO>NP258719D</NINO>
                             <BirthDate>1985-07-11</BirthDate>
                             <Gender>male</Gender>
                             <StartDate>2009-04-20</StartDate>
                             <TaxCodeInUse>647L</TaxCodeInUse>
                        </P46>
                   </InYearMovements>
              </IRenvelope>
         </Body>
    </GovTalkMessage>
    I want to replace the value 'http://www.govtalk.gov.uk/taxation/PAYE/MOV/09-10/1' of attribute xmlns belonging to the node 'IRenvelope' with the value 'http://www.govtalk.gov.uk/taxation/PAYE/MOV/10-11/1'
    So the output of the mapping should be:
    <?xml version="1.0" encoding="UTF-8"?>
    <GovTalkMessage xmlns="http://www.govtalk.gov.uk/CM/envelope">
         <EnvelopeVersion>2.0</EnvelopeVersion>
         <Header>
              <MessageDetails>
                   <Class>IR-PAYE-MOV</Class>
                   <Qualifier>request</Qualifier>
                   <Function>submit</Function>
                   <CorrelationID/>
                   <Transformation>XML</Transformation>
                   <GatewayTimestamp/>
              </MessageDetails>
              <SenderDetails>
                   <IDAuthentication>
                        <SenderID>isv142</SenderID>
                        <Authentication>
                             <Method>MD5</Method>
                             <Value>1L2xFE8WqHHI5iVMGhixAg==</Value>
                        </Authentication>
                   </IDAuthentication>
              </SenderDetails>
         </Header>
         <GovTalkDetails>
              <Keys>
                   <Key Type="TaxOfficeNumber">123</Key>
                   <Key Type="TaxOfficeReference">MD345</Key>
              </Keys>
              <ChannelRouting>
                   <Channel>
                        <URI>0142</URI>
                   </Channel>
              </ChannelRouting>
         </GovTalkDetails>
         <Body>
              <IRenvelope xmlns="http://www.govtalk.gov.uk/taxation/PAYE/MOV/10-11/1">
                   <IRheader>
                        <Keys>
                             <Key Type="TaxOfficeNumber">123</Key>
                             <Key Type="TaxOfficeReference">MD345</Key>
                        </Keys>
                        <PeriodEnd>2009-09-29</PeriodEnd>
                        <DefaultCurrency>GBP</DefaultCurrency>
                        <IRmark Type="generic">03Bfkipk6UDWSXLj77ObBVoK894=</IRmark>
                        <Sender>Company</Sender>
                   </IRheader>
                   <InYearMovements>
                        <EmployerName>form p60</EmployerName>
                        <P46 Statement="A">
                             <Name>
                                  <Fore>Smith</Fore>
                                  <Sur>John</Sur>
                             </Name>
                             <Address>
                                  <Line>Sterling Residency</Line>
                                  <Line>Gehde</Line>
                                  <Line>Hedge End</Line>
                                  <Line>Southampton</Line>
                                  <PostCode>12345678</PostCode>
                             </Address>
                             <WorksNumber>20090030</WorksNumber>
                             <NINO>NP258719D</NINO>
                             <BirthDate>1985-07-11</BirthDate>
                             <Gender>male</Gender>
                             <StartDate>2009-04-20</StartDate>
                             <TaxCodeInUse>647L</TaxCodeInUse>
                        </P46>
                   </InYearMovements>
              </IRenvelope>
         </Body>
    </GovTalkMessage>
    Thanks & Regards,
    Aditi Naik

    Hi,
    You get name of an attribute by this code
    <xsl:for-each select="@*">
        <xsl:text>Value of </xsl:text>
               <xsl:value-of select="name(.)"/>
        <xsl:text> is </xsl:text><xsl:value-of select="."/>
    </xsl:for-each>
    Change value by providing new value in <xsl:value-of select="."/>
    Regards
    suraj

  • How do i get to display the nodes under the root node in a JTree?

    In my JTree there is a root node.This root node has 4 child nodes.Each child node in turn has nodes under it.What i need to do is just display the child nodes under the root node i.e., the four child nodes and keep these child nodes in a collapsed state.How do i go sbout this?

    Please try this:
    tree.expandRow(0);
    SwingUtilities.invokeLater(new Runnable(){
        public void run(){
            tree.setRootVisible(false);
    });If you want to show the RootHandles:
    tree.setShowsRootHandles(true);If you want to keep nodes in collapsed state (not expandable):
            tel = new TreeWillExpandListener() {
                public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException {
                    throw new ExpandVetoException( event, "Don't want" );
                public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException {
            tree.addTreeWillExpandListener(tel);Some reading material:
    http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html
    http://java.sun.com/docs/books/tutorial/uiswing/events/treewillexpandlistener.html
    Edited by: Andre_Uhres on Nov 14, 2007 5:17 PM
    Edited by: Andre_Uhres on Nov 14, 2007 5:33 PM
    Edited by: Andre_Uhres on Nov 14, 2007 5:39 PM

Maybe you are looking for

  • Extending the desk top, adding a second monitor/screen

    Hi, I bought an Apple Mini-DVI to VGA adapter that allows me to plug my 20" vga monitor into my imac so that I can have more screen space. I had hoped to be able to drag files over to the 20" screen. That works, but when plugged into my imac, the 20"

  • Black screen after clean Win 8.1 install

    I did a clean install from 10.9 Bootcamp utility and Win 8.1 Home full ISO. Installation is successful but after first reboot I got display drivers issue (black screen and system running on). I tried both ways and got the same issue: -     with Bootc

  • Use SDO_NN in procedure: ERROR: PLS-00707: unsupported construct or internal error [2603]

    Hi, I have a problem with use SDO_NN function in a procedure. In case that I use SDO_NN in a SELECT command, it works. In case that I create an anonymous PL/SQL block, it works. But when I create a procedure, it doesn't work and there is an error: ER

  • Keep getting this error: CE-34788-0

    Hi. I have replaced the HDD, which comes with the PS4 with a PS4 SSD. The problem is, when I go to the safe mode and tries to reinstall the system software with the update on my USB stick, it just gives me this error after a few seconds: CE-34788-0. 

  • CS4 crashes on almost every close

    I'm using Premiere CS4 on Mac OS X 10.6.2 with a Macbook.  Everytime I close Premiere after doing an export, I get a message that it has crashed.  The message is from Premiere and not Mac OS X.  It doesn't seem to affect anything. Do other Mac users