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() + "}]";
|
||||
}
|
||||
|
||||
@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<V>)obj).vertex.equals(vertex);
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -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<Integer> {
|
||||
|
||||
private Integer counter = 0;
|
||||
|
||||
public VertexIntListener(GraphPanel<Integer, ?> panel) {
|
||||
super(panel);
|
||||
}
|
||||
@@ -16,9 +16,15 @@ public class VertexIntListener extends VertexListener<Integer> {
|
||||
|
||||
@Override
|
||||
protected Integer buildNewVertex(Graph<Integer, ?> 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<vertices.length; i++) {
|
||||
if(!vertices[i].equals(counter))
|
||||
return counter;
|
||||
counter++;
|
||||
}
|
||||
return counter;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user