A Java implementation of graphs + a Swing visual representation