Problem of Creating JTree with Hashtable ?

hi,

Currently I'm facing a problem with the node order of the JTree generated from the Hashtable. The order in which objects are added to a Hashtable exhibit an unpredictable node order. It seems that there has no correlation to the manner in which the objects are stored in the Hashtable.

eg. the order to put a object into the Hashtable.

Hashtable ht = new Hashtable();
   ht.put("Page 1", page1Vector);
   ht.put("Page 2", page2Vector);

JTree jt = new JTree(ht);  

The node order of the JTree might be "Page 2" as a first node and "Page 1" as a second node which is not in the desired order.

Is there any way to solve the ordering problem or sorting the Hashtable ?

Hope to hear from you soon, thank you.
andricAsked:
Who is Participating?
 
ovidiucraciunCommented:
>>The node order of the JTree might
>>be "Page 2" as a first node and "Page
>>1" as a second node which is not in
>>the desired order

That means you should insert like this
Hashtable ht = new Hashtable();
   ht.put("Page 2", page2Vector);
   ht.put("Page 1", page1Vector);



0
 
lyonstCommented:
Hi,

I'm not sure if this helps but it is an example of how to load a Hashtable form SUN - there dosn't appear to be a specific sort order but could you use the integer value to loop and read the values in the correct sequence?.


This example creates a hashtable of numbers. It uses the names of the numbers as keys:

          Hashtable numbers = new Hashtable();
          numbers.put("one", new Integer(1));
          numbers.put("two", new Integer(2));
          numbers.put("three", new Integer(3));
     

To retrieve a number, use the following code:

          Integer n = (Integer)numbers.get("two");
          if (n != null) {
              System.out.println("two = " + n);
          }

T.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.