The Visual Library API Anton Epple http://www.eppleton.de What is - - PowerPoint PPT Presentation
The Visual Library API Anton Epple http://www.eppleton.de What is - - PowerPoint PPT Presentation
The Visual Library API Anton Epple http://www.eppleton.de What is the Visual Library? Generic Visualization Library Especially useful for displaying Graphs Widgets as Graphic primitives Certified Engineer Course What is the Visual Library?
Certified Engineer Course
What is the Visual Library?
Generic Visualization Library Especially useful for displaying Graphs Widgets as Graphic primitives
Certified Engineer Course
What is the Visual Library?
Can be used in any Swing Application
Only one dependency. Lookup (util)
Documentation & Demo Projects:
http://graph.netbeans.org/documentation.html http://graph.netbeans.org/examples.html
Used in NetBeans & many independent applications
Certified Engineer Course
Used in many Applications
Inside NetBeans ( Visual Mobile Designer ) Jarvis (Jasperreports Visual Designer) MindMap GeeWhiz (Prolog Editor & Tutorial ) ChipInspector (Genome Browser) InstantJChem (Form Designer) BlueMarine (Photo Editor)
Certified Engineer Course
VMD
Certified Engineer Course
Instant JChem
Certified Engineer Course
Jarvis
Certified Engineer Course
How does it work?
Similar to Swing: Components organized in a tree Widgets = Graphics primitive (like JComponent)
Scene (Root element)
ObjectScene
Graph Scene GraphPinScene
LayerWidget LabelWidget ImageWidget ...
Demo...
Certified Engineer Course
How does it work?
Layouts:
AbsoluteLayout, FlowLayout, CardLayout, OverlayLayout Demo...
Actions:
MoveAction, HoverAction, ZoomAction, PanAction... Every Widget has a WidgetAction.Chain to receive Events and forward them to the matching Action widget.getActions().addAction(ActionFactory.c reateMoveAction()); Demo...
Certified Engineer Course
Custom Behaviour - Providers
Use Providers to create Custom Behaviour:
ActionFactory.createXXXAxtion(new MyXXXProvider ());
Example:
private static class MyHoverProvider implements HoverProvider { public void widgetHovered(Widget widget) { if (widget != null){ widget.setForeground(Color.RED); } } }
Demo...
Certified Engineer Course
Create your own Widgets
public class IconNodeWidget extends Widget { public IconNodeWidget(Scene scene, String icon, String label) { super(scene); setOpaque(true); setLayout(LayoutFactory.createVerticalFlowLayout(LayoutFactory. SerialAlignment.CENTER, 4)); // use vertical layout Image image = Utilities.loadImage(icon); addChild(new ImageWidget(scene, image)); addChild (new LabelWidget (scene, label)); } } Demo...
Certified Engineer Course
Create a Visual Database Explorer
DEMO
Certified Engineer Course