Code cleanup.
[Persons_Comparator.git] / src / RegionView.java
index 7e5c69fc76248d9d8d37028e44d8b18f96bc716a..d44cd0494f9f10dd063eb4b59ec09ad4d230691d 100644 (file)
@@ -49,8 +49,32 @@ 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();
+                    if (nt.compareToIgnoreCase(np) > 0) {
+                        root.insert(node, j);
+                        break;
+                    }
+                }
+                if (node.getChildCount() > 0) {
+                    node = sortTree(node);
+                }
+            }
+            return root;
+        }
     }
 
     public void setRegionObj(Region regionObj) {