The Graph GUI project is a program that represents a graph data structure through Java Swing.
- Add Vertex - Allows a user to click onto the canvas and draw a vertex in that location
- Add Edge - Allows a user to click on a vertex (highlighted green when initiated) and click on a second vertex to draw a line between the two vertices.
- Remove Vertex - Allows a user to click on a vertex to remove it from the canvas and collapse edges that were attached to it.
- Remove Edge - Allows a user to click anywhere on an edge between two vertices and delete it from the canvas.
- Move Vertex - Allows a user to click on a vertex and change its location and redraw the edges connected to that vertex.
- Add Edges - This button draws edges to between all vertices.
- Connected Components - This button identifies all subgraphs by color-coding them using a depth-first search algorithm.
- Show Cut Vertices - This button highlights all vertices that when removed will create the most connected components utilizing an articulation point algorithm.