Comparing the Designer and the API

The Designer provides a convenient visual environment for styling diagram components for use in a graphical application. The output is in the form of a project, comprising a project file and an associated style sheet (.css file). You are recommended to start styling in the Designer.
The examples supplied with the Designer make use of symbols. You can also open legacy diagrams containing general nodes or composite graphics in the Designer and style them.
General nodes are simpler objects: you may find them easier to customize. They are also faster to display, which can be of particular interest in the case of diagrams with a lot of graphics.
In the Java API, you can apply style sheets in the CSS for Java format to symbols, composite graphics, general nodes, and general links. You can load a project file to display a diagram.
In this release, not all the refinements available in the API are active in the Designer. The main limitations are as follows:
  • Interactors: only the predefined ones are available
  • Renderers: only the predefined ones are available
  • Style rules: Child-of-parent object conditions are not supported
The decision points at which you may decide to use the Java API as well as the Designer concern:
  • Custom data model
  • Custom interaction
  • Custom rendering
  • Advanced graphic objects
  • Custom printing
If your data cannot be connected by JDBC or is not in a flat file or XML, you must use the Java API to define a custom data model before starting development of your diagram component.
If, after you complete a development cycle in the Designer, you find that you require interaction or rendering that is not available in the Designer, you can achieve these by using the Java API directly.
If you need advanced graphic objects that are not available in the Designer, you can write your own graphic objects with the Java API of the JViews Framework. However, you will not be able to customize them with the Styling Customizer in the Designer.
If you need specialized printing facilities beyond the page and area facilities available in the diagram component, you can code these in the Java API.