X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FRegionView.java;h=d44cd0494f9f10dd063eb4b59ec09ad4d230691d;hb=40a334105841fc2f6e175291e9e7bcfe56f3437c;hp=7e5c69fc76248d9d8d37028e44d8b18f96bc716a;hpb=e16e3b1587a729dd1e2d39bd4426831136376aa7;p=Persons_Comparator.git diff --git a/src/RegionView.java b/src/RegionView.java index 7e5c69f..d44cd04 100644 --- a/src/RegionView.java +++ b/src/RegionView.java @@ -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) {