Fixes
* after loading a window the vertices can be doubled * fixed acient bug where the number will keep increase
This commit is contained in:
@@ -19,10 +19,11 @@ public class VertexComponent<V> extends Component {
|
|||||||
return "[" + vertex + " {" + getX() + "," + getY() + "}]";
|
return "[" + vertex + " {" + getX() + "," + getY() + "}]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
try {
|
try {
|
||||||
return obj.getClass().equals(getClass()) && obj.toString().equals(toString());
|
return obj.getClass().equals(getClass()) && ((VertexComponent<V>)obj).vertex.equals(vertex);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package berack96.sim.util.graph.view.vertex;
|
package berack96.sim.util.graph.view.vertex;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
import berack96.sim.util.graph.Graph;
|
import berack96.sim.util.graph.Graph;
|
||||||
import berack96.sim.util.graph.view.GraphPanel;
|
import berack96.sim.util.graph.view.GraphPanel;
|
||||||
|
|
||||||
public class VertexIntListener extends VertexListener<Integer> {
|
public class VertexIntListener extends VertexListener<Integer> {
|
||||||
|
|
||||||
private Integer counter = 0;
|
|
||||||
|
|
||||||
public VertexIntListener(GraphPanel<Integer, ?> panel) {
|
public VertexIntListener(GraphPanel<Integer, ?> panel) {
|
||||||
super(panel);
|
super(panel);
|
||||||
}
|
}
|
||||||
@@ -16,9 +16,15 @@ public class VertexIntListener extends VertexListener<Integer> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Integer buildNewVertex(Graph<Integer, ?> graph) {
|
protected Integer buildNewVertex(Graph<Integer, ?> graph) {
|
||||||
if(graph.numberOfVertices() == 0)
|
int counter = 0;
|
||||||
counter = 0;
|
Integer[] vertices = graph.vertices().toArray(new Integer[graph.numberOfVertices()]);
|
||||||
|
Arrays.sort(vertices);
|
||||||
|
|
||||||
|
for(int i = 0; i<vertices.length; i++) {
|
||||||
|
if(!vertices[i].equals(counter))
|
||||||
|
return counter;
|
||||||
counter++;
|
counter++;
|
||||||
return counter - 1;
|
}
|
||||||
|
return counter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user