In general, a visualization is accomplished with
{@link edu.uci.ics.jung.visualization.VisualizationViewer VisualizationViewer}
{@link edu.uci.ics.jung.visualization.Renderer Renderer}
, which determines how specific Vertices are drawn on screen.
{@link edu.uci.ics.jung.visualization.Layout Layout}
, which determines where Vertices are drawn on screen.Visualizer
, asking it for locations of vertices, and then paints them individually with the Renderer
inside the Swing component. In addition, the {@link edu.uci.ics.jung.visualization.GraphDraw GraphDraw}
infrastructure simplifies many of these transformations by packaging the VisualizationViewer, the Renderer, and the Visualizer together. Users may then substitute out parts as it is appropriate. (Sample code is available in the GraphDraw documentation.)
The current implementation supports only 2-D layout algorithms (because it doesn't contain code to transform 3D coordinates to 2D) and only visualizes {@link edu.uci.ics.jung.graph.Graph Graph}s (as opposed to the more general ArchetypeGraphs.)
In order to set up fading effects when vertices are filtered
out and filtered in, see the notes at
{@link edu.uci.ics.jung.visualization.FadingVertexLayout FadingVertexLayout}
.