Country + Origin + RegionView modify
authorSylvain Papa <sylvain.papa@yahoo.fr>
Fri, 18 Jan 2019 10:20:31 +0000 (11:20 +0100)
committerSylvain Papa <sylvain.papa@yahoo.fr>
Fri, 18 Jan 2019 10:20:31 +0000 (11:20 +0100)
src/Country.java
src/Origin.java
src/RegionView.java

index c663ff0af66b22c2c8c9bdd22845f51cbb434d00..cb672731751803f73034a76dd3e55280c5637c8d 100644 (file)
@@ -30,10 +30,18 @@ public class Country {
         this.lat = lat;
     }
 
+    public double getLat() {
+        return lat;
+    }
+
     public void setLng(double lng) {
         this.lng = lng;
     }
 
+    public double getLng() {
+        return lng;
+    }
+
     public int distanceTo(Country country) {
         if ((this.lat == country.lat) && (this.lng == country.lng)) {
             return 0;
index 41b5b360d04fde925e347932b8bd01b6d4063137..7ea4e536a487efde36ad6451076636698a25b43a 100644 (file)
@@ -64,6 +64,8 @@ public class Origin {
     }
 
     public int distanceTo(Origin origin) {
+
+
         return 0;
     }
 }
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) {