Search
General Information

The JDiagram Library

  • Redistribution is royalty free
  • Can be purchased with source code
  • Is written in Java
  • Implements the Document/View architecture
  • Includes applet class for use in Web pages

User Interaction

  • Several user interaction modes
  • Free-form drawing
  • Scrolling and zooming
  • Copy and paste to/from the system clipboard
  • Panning
  • Automatic scrolling while dragging items with the mouse
  • Alignment to grid
  • Node alignment guides
  • Multiple selection
  • Tool-tips
  • Docking points can be defined for nodes
  • Magnifier tool
  • Undo / redo support
  • Rotate and flip shapes

Programming

  • Programmatic access to the diagram elements
  • Builder classes for fluent API
  • Numerous properties for customizing appearance and behavior
  • Numerous utility methods
  • Path finding and cycle detection
  • Rich event set
  • The applet fires events that can be handled using JavaScript

Store and Retrieve Diagrams into/from

  • Files on disk
  • Java streams
  • ASCII strings
  • XML documents
  • JSON strings

Output

  • To display through Java Swing
  • Printing and print preview
  • To a browser using HTML image maps

Export and Import

  • Export Portable Document Format (PDF) files
  • Export Scalable Vector Graphics (SVG) files
  • Export images in jpeg, gif, tiff, and png formats
  • Export Visio 2013 drawing (.vsdx) documents
  • Export Excel Open XML Format (XLSX) files
  • Import OpenOffice Draw documents
  • Import Visio 2013 drawing (.vsdx) documents

Diagram Elements

  • More than 100 predefined node shapes
  • Display SVG drawings in nodes
  • Ability to define custom shapes and shape libraries
  • Rotation of shapes at arbitrary angles
  • Use any Java Swing component as a diagram node
  • Container nodes
  • Tables with unlimited number of rows and columns
  • Table cells can span several columns and rows
  • Display hierarchical data in TreeView nodes
  • Assign diagram items to layers
  • Sections of table rows can be expanded or collapsed
  • Display multiple labels on links
  • Links can comprise multiple segments
  • Link segments can be straight lines or curves
  • Display multiple labels per link
  • Support for custom node and link types

Automatic Layout

  • Spring-Embedder graph layout
  • Directional tree layout
  • Radial tree layout
  • Fractal tree layout
  • Layered graph layout
  • Grid layout
  • Simulated Annealing graph layout
  • One-way graph layout
  • Orthogonal graph layout
  • Circular graph layout
  • Orthogonal link router
  • Source code flowchart layout
  • Decision flowchart layout
  • Triangular graph layout
  • Hierarchical graph layout
  • Cascading graph layout
  • Tree map layout
  • Process diagrams layout
  • Automatic link routing

Appearance

  • Styles and themes
  • Nodes can display images and text
  • Multiple text labels per item
  • Various text alignment styles
  • Text can be laid out in polygonal areas
  • Glass visual effects
  • Styled HTML-like text formatting
  • Customizable fonts and colors
  • Custom painting of nodes
  • Shadows
  • User-assigned mouse cursors
  • Z-order
  • Rich choice of pen and brush styles
  • Transparent nodes
  • Invisible nodes
  • A background swimlane grid

Behavior

  • Lock diagram elements
  • Read-only mode supported
  • Tables can be scrolled
  • Collapse and expand hierarchy branches
  • In-place text editing
  • Dynamic positioning of links relative to connected nodes

Link Diagram Items

  • Nodes to nodes
  • Table rows to table rows
  • Nodes to table rows
  • Unconnected links

Hierarchical Grouping

  • Attaching nodes to other nodes
  • Attaching nodes to link control points
  • Attaching nodes to link segments

Auxiliary Controls

  • Overview control
  • Ruler control
  • Shapes listbox
  • Node list control
  • Layer list control
  • Zoom control