Country + Origin + RegionView modify
[Persons_Comparator.git] / src / RegionView.java
index 7e5c69fc76248d9d8d37028e44d8b18f96bc716a..3c79ea6f4a294fb5c446c977b2c2a40807303d3d 100644 (file)
@@ -49,8 +49,37 @@ public class RegionView extends JPanel {
                 }
             }
         }
+        sortTree(top);
         tree = new JTree(top);
-        add(tree);
+        add(new JScrollPane(tree));
+    }
+
+    public static DefaultMutableTreeNode sortTree(DefaultMutableTreeNode root) {
+        {
+            for (int i = 0; i < root.getChildCount() - 1; i++) {
+                DefaultMutableTreeNode node = (DefaultMutableTreeNode) root
+                        .getChildAt(i);
+                String nt = node.getUserObject().toString();
+
+                for (int j = i + 1; j <= root.getChildCount() - 1; j++) {
+                    DefaultMutableTreeNode prevNode = (DefaultMutableTreeNode) root
+                            .getChildAt(j);
+                    String np = prevNode.getUserObject().toString();
+
+                    System.out.println(nt + " " + np);
+                    if (nt.compareToIgnoreCase(np) > 0) {
+
+                        root.insert(node, j);
+                        break;
+                    }
+                }
+                if (node.getChildCount() > 0) {
+                    node = sortTree(node);
+                }
+            }
+
+            return root;
+        }
     }
 
     public void setRegionObj(Region regionObj) {