Package diva.graph.tutorial
Class PrepopulatedTutorial
- java.lang.Object
-
- diva.graph.tutorial.PrepopulatedTutorial
-
public class PrepopulatedTutorial extends java.lang.Object
This example shows three alternatives to display a prepopulated graph model in a window. Prepopulated means that there are already nodes in the model before the model was placed in a GraphPane. There was a problem in the initial release which made this break. That problem has been fixed and it will just work now, except for one little gotcha, which is if you set the model while the window is closed, the GraphPane thinks its size is 0x0, so the nodes all get layed out in the upper-left corner of the canvas. The way to fix this is to either set the model once the window is open, or explicitly call a global layout once the window has been opened. More comments below in the individual methods.- Version:
- $Id$
- Author:
- Michael Shilman
- Pt.AcceptedRating:
- Red
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bogusLayout(MutableGraphModel model, AppContext context)
This is the first thing you'd probably think of, but this happens to be bogus, because the layout is applied to the nodes before the window is showing, meaning that the nodes are layed out in a 0x0 frame, and are all clustered in the upper-left corner.void
layoutPostDisplay(MutableGraphModel model, AppContext context)
In this version you construct the graph widget with the model, and apply a layout to the graph once the window is showing.static void
main(java.lang.String[] argv)
void
setModelPostDisplay(MutableGraphModel model, AppContext context)
In this version you construct the graph widget with the default constructor (giving it an empty graph), and then set the model once the window is showing.
-
-
-
Method Detail
-
main
public static void main(java.lang.String[] argv)
-
bogusLayout
public void bogusLayout(MutableGraphModel model, AppContext context)
This is the first thing you'd probably think of, but this happens to be bogus, because the layout is applied to the nodes before the window is showing, meaning that the nodes are layed out in a 0x0 frame, and are all clustered in the upper-left corner. This is remedied in the other techniques given below.
-
layoutPostDisplay
public void layoutPostDisplay(MutableGraphModel model, AppContext context)
In this version you construct the graph widget with the model, and apply a layout to the graph once the window is showing. I think the "set model post display" version is preferable, but this might be useful in some cases.
-
setModelPostDisplay
public void setModelPostDisplay(MutableGraphModel model, AppContext context)
In this version you construct the graph widget with the default constructor (giving it an empty graph), and then set the model once the window is showing.
-
-