From a8596331e7c76f134152cfbc09f44ccb326ca45c Mon Sep 17 00:00:00 2001 From: Giacomo Bertolazzi <20015159@studenti.uniupo.it> Date: Fri, 14 Jun 2019 22:04:48 +0200 Subject: [PATCH] Fixes * after loading a window the vertices can be doubled * fixed acient bug where the number will keep increase --- .../graph/view/vertex/VertexComponent.java | 5 +++-- .../graph/view/vertex/VertexIntListener.java | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/berack96/sim/util/graph/view/vertex/VertexComponent.java b/src/berack96/sim/util/graph/view/vertex/VertexComponent.java index 3502cf8..96213bd 100644 --- a/src/berack96/sim/util/graph/view/vertex/VertexComponent.java +++ b/src/berack96/sim/util/graph/view/vertex/VertexComponent.java @@ -19,10 +19,11 @@ public class VertexComponent extends Component { return "[" + vertex + " {" + getX() + "," + getY() + "}]"; } - @Override + @SuppressWarnings("unchecked") + @Override public boolean equals(Object obj) { try { - return obj.getClass().equals(getClass()) && obj.toString().equals(toString()); + return obj.getClass().equals(getClass()) && ((VertexComponent)obj).vertex.equals(vertex); } catch (Exception e) { return false; } diff --git a/src/berack96/sim/util/graph/view/vertex/VertexIntListener.java b/src/berack96/sim/util/graph/view/vertex/VertexIntListener.java index 79c6d8e..680115e 100644 --- a/src/berack96/sim/util/graph/view/vertex/VertexIntListener.java +++ b/src/berack96/sim/util/graph/view/vertex/VertexIntListener.java @@ -1,12 +1,12 @@ package berack96.sim.util.graph.view.vertex; +import java.util.Arrays; + import berack96.sim.util.graph.Graph; import berack96.sim.util.graph.view.GraphPanel; public class VertexIntListener extends VertexListener { - private Integer counter = 0; - public VertexIntListener(GraphPanel panel) { super(panel); } @@ -16,9 +16,15 @@ public class VertexIntListener extends VertexListener { @Override protected Integer buildNewVertex(Graph graph) { - if(graph.numberOfVertices() == 0) - counter = 0; - counter++; - return counter - 1; + int counter = 0; + Integer[] vertices = graph.vertices().toArray(new Integer[graph.numberOfVertices()]); + Arrays.sort(vertices); + + for(int i = 0; i