Chapter 3
1. All graph cells have at least one associated cell view that deals with various visual functionality and the process of updating the visualization of that cell. Cell views associate a renderer, and editor and a cell handle.
2. Renderers are part of the Swing design, they abstract the drawing functionality of a component into a single static class instance, a pattern also known as the flyweight design. when a graph cell is rendered the attributes of the cell view are fetched and inserted into the renderer instance, a process known as configuring the renderer.
3. the default editor provided is a simple, single-line editor called DefaultGraphCellEditor, that extends CellEditor
4. Handles are based on the Composite pattern in JGraph. interface: CellHandle Class. composite: RootHandle. The cellHandle interface defines the basic functionality a handle must provide, note that the CellHandle interface is very similar to that of MouseMotionListener and MouseListener.
5. The getRendererComponent(), getHandle(), getEditor() methods return the renderer, the handle and the editor asscoiated with the cell view.
6. the refresh() method updates the cell view attributes, but does not cause the cell view to repaint. the 3 editing methods automatically call refresh and repaint for all views affected by the change.
7. hold a single static renderer instance for each type of cell view to reduce the memory footprint.-----flyweight pattern.