JetUML User Guide

For JetUML Version 3.9. Updated 2025-08-28.

Main Features

The essential features of JetUML.

  1. Automatic Edge Layout. JetUML automatically lays out the edges that represent association between elements. The paths are computed using custom algorithms intended to give the diagrams a clean and natural look. To change the path of an edge, simply move the nodes around.

  2. Five Diagram Types. JetUML currently supports class diagrams, sequence diagrams, state diagrams, object diagrams, and use case diagrams. (See the menu File > New)

  3. Semantic Diagram Validation. When creating a diagram, JetUML checks to ensure that the diagram is valid and reports problems using pop-up notifications.

  4. Copy to Clipboard. With a single command, copy the current diagram to the clipboard without the background grid, and with just the right bounding box. The diagram can then easily be pasted into chat programs, slide presentations, etc. (File > Copy to Clipboard)

  5. Export to Image File. Export a diagram to an image file. Supported formats include SVG, PNG, JPEG, and more. (File > Export Image)

  6. Duplicate Diagram. With a single command, duplicate the current diagram to explore different design alternatives. (File > Duplicate)

  7. Customizable Interface. View additional hints and documentation directly in the user interface, switch to dark mode, change the font, hide the grid, etc. (See the View menu)

  8. Open file format. JetUML saves diagram in JSON files using a documented format. Diagrams can thus be accessed and manipulated outside of JetUML. (File > Save)

A Quick Tour of JetUML

Once you have JetUML up and running, follow these instructions for a quick tour through the application that will demonstrate most of its features.

Part 1: A Simple Sketch

In this first part, you will create a very simple UML sketch.

Simple UML Sketch

Once you have the hang of it, you’ll be able to create this diagram in approximately 30 seconds.

  1. Start JetUML: you will see the Welcome Tab. Under Create New Diagram, select Class Diagram. You will now see a blank canvas.

NOTE: If you prefer to work in dark mode, select the menu option View > Dark Mode.

  1. To the right of the canvas is the tool pane. We will use it to create an interface element in our diagram. In the tool pane, select the third element down from the top. Its tool tip should say “Interface”. With the interface (creation) tool activated, click anywhere on the canvas to create the interface element.

NOTE: If you are not yet familiar with the UML, select View > Show Tool Hint to display labels next to the icons in the tool bar. You can also select View > Verbose Tooltips to show an extended description of each UML element though their tool tip.

  1. You will now edit the properties of the interface element. Either double-click the element, or select it and press Ctrl-Enter. Its property sheet will appear. Under Name, type Figure. In the box for Methods, type draw():void. Note that you can tab between fields in a property sheet.

To sketch out this diagram as fast as possible, we will use the auto-edit feature, which automatically opens the property sheet whenever an element is created.

  1. Select View > Auto Edit Node. You can turn this feature off whenever it is no longer necessary.
  2. Select the class (creation) tool from the toolbar (second button from the top).
  3. Click on the canvas. A class element is created and its property sheet opens. Type Figure then hit the Esc key to close the dialog. Repeat the process for another element with the name Group. Position both elements below the interface element.
  4. You will now add the edges to the diagram. In the toolbar, select the Realization edge (ninth button from the top). Then click inside the Rectangle element, hold and drag, and release the mouse button inside the Figure element. A realization edge will be created linking the two elements. Repeat the process to add a realization edge between the Group and the Figure elements. Note how the edges automatically align and merge to produce a compact diagram.
  5. To create the aggregation edge between the Group and the Figure elements, select the Aggregation Edge (creation) tool in the tool bar, then drag the mouse between the Group and the Figure elements.
  6. To add the elements label to the aggregation edge, select the Selection Tool (first element in the tool bar), then double-click the edge. The property sheet will open. Type elements in the Middle Label field and hit the Esc key to close the property sheet.

NOTE: You can use the property sheet to change any of the elements property, including alternating between association and composition.

  1. To finalize your first UML sketch, move the nodes around until the diagram looks the way you want.

At this point, you have already created a valid UML sketch with JetUML. You can:

Part 2: Additional Features

You will now expand your initial sketch to explore a different design, and at the same time discover additional features of JetUML, by creating the following diagram.

A sample class diagram

  1. Ensure you have the sketch from Part 1 in a class diagram tab. If you closed the application after Part 1 and saved your diagram, load it back with File > Open. Otherwise, simply recreate it (it should now be very quick).
  2. Duplicate the diagram by using File > Duplicate or its corresponding shortcut key. JetUML will open a new tab with the same diagram, allowing you to modify it while keeping your first version around.
  3. To turn the Rectangle class into an abstract class, open its property sheet and change the name from Rectangle to /AbstractFigure/. The slashes before and after the name will tell JetUML to render it in italics, which is the UML convention for abstract elements. While you are at it, add a field x:int and y:int in the Attributes box.
  4. Using the class creation tool, create a new element and name it Rectangle. Add a method draw():void to its Methods property.
  5. You will now indicate that Rectangle inherits from AbstractFigure. But first, let’s try something silly: to make Rectangle inherit from itself. Select the inheritance tool from the tool bar, and drag an edge between two points within the Rectangle element! The edge won’t get created, and you should see a notification indicating that this is not possible. JetUML’s semantic checking prevents numerous modeling errors in this way. With the inheritance tool still selected, now drag from the Rectangle to the AbstractFigure element, to properly mode the relationship.

NOTE: You can adjust the duration of the notifications with View > Notification Duration.

  1. You will now add the Drawing class. Create a class element as usual. However, this element has a stereotype «application». To easily add the French quotes, enter Ctrl-Q. Also add the main method to the Methods properties, as you have done above. In UML class diagram, static members should be underlined. To show the main method as underlined, add an underscore before and after it, e.g., _main(String[]):void_.
  2. To show the dependency between the Diagram and the Figure elements, select the dependency create tool and drag from Drawing to Figure. Double-click on the new dependency to open its property sheet, and notice how you can add a label or even change the directionality of the dependency. Close the property sheet.
  3. To complete the diagram you will add a note element to indicate that Group fulfills the role of a composite in the Composite design pattern. Using the note creation tool, add a note element and edit its property to add the text Composite. To link the note to the group class, select the node connector tool and drag from the Group element to the node element. The note will then be connected to the Group class: if you move it around, the connector will stay connected to it.

NOTE: To connect a note element to an arbitrary point on the canvas, drag instead from the note element to the desired point.

That’s it! You’re now ready to create your own models in the blink of an eye. Modeling with the other diagram types works the same way: select a tool, create node elements, and connect them with edges. For additional tips, see below.

Tips for JetUML Users

This section lists all the “Tip of the Day” entries available through JetUML’s help menu.

1. Creating a New Diagram

You can create a new diagram at any point using the menu command File > New. The diagram will open in a new tab.

Image

2. Creating Nodes

Selecting a node type in the toolbar enables the corresponding Node Creation tool. With a Node Creation tool enabled, click on an empty space in the diagram to create a new node of that type. Rolling over the tool in the toolbar shows a tooltip with the name of the node type.

Image

3. Creating Edges

To create an edge between two nodes, select an Edge Creation tool in the toolbar, click in the start edge, then start dragging with the mouse. This will enable a rubber band view of the start and end nodes for the edge. Release the mouse on the destination edge to complete the operation. Edges are laid out automatically: to control their path it is necessary to move their start and end nodes. The edge creation operation will not have any effect if the edge type is not a valid way to connect the selected nodes.

Image

4. Selecting Diagram Elements

To select diagram elements individually, enable the Selection tool and click on the element to select or deselect. To add or remove individual elements to/from the selection, hold down the Ctrl key while clicking on the element.

Image

5. Selecting With the Lasso Tool

To select all elements in a region of the diagram, enable the Selection Tool, then click and drag from an empty space in the diagram. This will enable the Lasso tool.

Image

6. Editing Element Properties

You can edit an element’s properties by double-clicking it or by using the shortcut Ctrl-Enter on a selected element.

Image

7. Edge Validation

When attempting to create a new edge, the operation will only succeed if the edge is a valid connection between two elements according to the syntax of the diagram. Invalid attempts to create edges get reported as notifications.

Image

8. Tool Hints

It is possible to view the name of each tool in the toolbar in full next to its icon. To toggle this feature, use the menu command View > Show Tool Hint.

Image

9. Popup Toolbar

The toolbar is also available as a popup menu. Right-click anywhere to show it.

Image

10. Adding Self-Edges

Certain types of edges can be added from an element to itself. To create a self-edge, select a valid edge type and drag the rubber band within a compatible node.

Image

11. Changing the Type of an Edge

Certain types of edges can be changed through the edge’s properties. Access the edge properties by double-clicking an edge or selecting it and typing Ctrl-Enter.

Image

12. Selecting Everything

Use the menu command Edit > Select All (Ctrl-A) to select all elements in a diagram, for example to move the entire diagram as one.

Image

13. Creating Note Elements

Use Note elements to annotate the diagram with complementary information.

Image

14. Linking Note Elements

Use the note edge to link notes to various parts of the diagram. Dragging a note edge from a target node to the note node will link the note node with the target node. Dragging a note edge from the note node will anchor the edge to a fixed point on the diagram.

Image

15. Tool Shortcuts

The tools in the toolbar can be selected by pressing the “1” key for the first tool,”2” for the second, etc. The sequence 1-9,0,A,B… provides direct access to all the tools in the toolbar, from top to bottom.

Image

16. Edge Labels

Certain types of edges can have associated labels. Edit the edge properties by double-clicking the edge or using the Ctrl-Enter shortcut.

Image

17. Cutting, Copying, and Pasting

You can cut or copy one or more diagram elements and paste them either within the same diagram or into a different diagram. It is only possible to paste a selection to another diagram if all the elements in the selection are compatible with the destination diagram type. It is also not possible to paste elements into a sequence diagram as this would result in an invalid control-flow sequence.

Image

18. Verbose Tooltips

Use the menu command View > Verbose Tooltips to toggle verbose tooltips in the toolbar. Verbose tooltips provide an extended description of the meaning of UML elements available in the toolbar.

Image

19. Adding Fields to Objects

To add a field to an object, select the Field Creation tool from the toolbar and click within the desired object node. Accessing the fields’ properties (Ctrl-Enter) allows to change the field’s name and value.

Image

20. Adding Object References

To add a reference to an object, select the Reference Creation tool from the toolbar, then drag a rubber band from the Value part of a field to the destination object node.

Image

21. Transitions in State Diagrams

State diagrams support up to two transitions between nodes in either direction, as well as two self-transitions.

Image

22. Copying the Diagram to the Clipboard

Use the Copy to Clipboard feature to copy a snapshot of the entire diagram to the system clipboard. The diagram can then be pasted easily into other applications. The feature is accessed using the File menu, the toolbar, or using the shortcut Ctrl-B.

Image

23. Creating Call Edges

To create the initial call edge in a sequence diagram, select the Call Edge Creation tool and drag the rubber band from the life-line of the caller to the life-line of the callee.

Image

This will create the activation box for both the caller and the callee. To create additional call edges, drag from an activation box to a life-line.

Image

24. Automatically Editing Newly Created Nodes

To speed up diagramming, use the Auto Edit Node feature to automatically open the properties page whenever a new node is created. This feature is only available for nodes.

Image

25. Duplicating a Diagram

Use the menu command File > Duplicate (Ctrl-D) to quickly make a duplicate of the current diagram. The duplicate diagram will be open in a new tab. This feature is especially useful when exploring different variants of a design.

Image

26. Sequence Diagram Validation

JetUML verifies that call and return edges added to a sequence diagram result in a valid control sequence. Trying to add edges at arbitrary points that would result in a jump in the control flow will fail silently.

Image

27. Adding Self-Calls in Sequence Diagrams

JetUML supports self-calls in sequence diagrams. To create a self-call, select the Call Edge Creation tool and drag the rubber band within an activation box.

Image

28. Adding Constructor Calls in Sequence Diagrams

With JetUML you can represent constructor calls in sequence diagrams. To add a constructor call, select the Call Edge Creation tool and drag the rubber band from a source life-line or activation box to the implicit parameter node.

Image

The call will be shown with the label «create» and the implicit parameter will be positioned vertically aligned with the call. An activation box will be attached to the implicit parameter: use it to model calls that originate from the constructor.

Image

29. Setting the Size of Diagrams

In JetUML diagrams have a fixed size. To change this size, use the menu command View > Set Diagram Size. The size will be used when creating new diagrams or opening diagram files. When opening a diagram, the size is automatically increased to fit the diagram if necessary. Larger diagrams decrease the tool’s performance. The default values are in relation to the display size.

Image

30. Adding Child Nodes to Packages

Package nodes can contain child nodes. To add a child node to a package, select the desired Node Creation tool and click within a package to add this node directly as a child node. To add an existing node to a package, position the node on top of the package and hit the Shift key. To detach a node from a package, also hit the Shift key.

Image

31. Showing or Hiding the Grid

It is possible to control whether the grid is visible or not in a diagram. Use the menu command View > Show Grid to toggle this option. Diagram elements automatically snap to the grid whether it is visible or not.

Image

32. Representing Incomplete Call Sequences

Use the Open Bottom property of the activation box in a sequence diagram to represent an incomplete sequence of calls.

Image

33. Zooming the Diagram

It is possible to zoom the diagram in and out up to a maximum of two levels in both directions. The commands are available through the View menu and through the shortcuts Ctrl-= (Zoom In), Ctrl– (Zoom Out), and Ctrl-0 (Reset Zoom).

Image

34. Exporting the Diagram

Use the menu command File > Export Image to save the current diagram as an image file. The image type is determined by the file extension selected from the Save as Type field.

Image

35. Changing the Font

Use the menu command View > Change Font to change the font and size of the font used in the diagram. This setting only affects how the diagram looks.

Image

36. Inserting Stereotype Delimiters

In the Properties editor for any diagram element, use the shortcut key combination Ctrl-Q to insert the characters « », which are the delimiters for UML stereotypes. The cursor will be positioned between the delimiters, so you can just continue typing the name of your stereotype.

Image

37. Notifications

Errors and confirmations get reported as temporary notifications in the bottom left of the application window. It is possible to adjust the duration of the notifications. A duration of zero disables all notifications.

Image

38. Dark Mode

You can turn dark mode on or off by navigating to the menu command View > Dark Mode.

Image

39. Underlining or Italicizing Text

To show a line of text in italics, surround it with forward slashes (e.g., /abstract/). To show a line of text underlined, surround it with underscores (e.g., underlined).

Image