The primary way to access the refactoring features is to access them via the UML user interface. The user interface takes a directory, and creates UML class diagrams of the classes it finds. Each package is displayed in a separate window.
Left clicking on a class selects it.
Right clicking on a class brings up a popup dialog box. The menu is sensitive to whether the click was on a field or method. The menu item displayed shows the list of metrics or refactorings that can be found associated with a particular class, method, or field.
Thanks to Eric Hodges, the bottom menu item is "Show Source". For JBuilder and Elixir, when you select this menu item the appropriate source code file is opened. For JBuilder, the cursor is moved to the line with the declaration of the method.
This is a really great feature for integrating the source code and the diagrams in your mind!
You can also move a class around the screen by pressing and holding the left mouse button down and dragging the class.
To move multiple classes, click on the first class with the left mouse button. On each additional class hold the control key and click the left mouse button. When all the classes that you want to move as a group are selected (they turn either a yellow or green color), then you can drag the classes to their new location.
You can add a sticky point to a line by clicking on a point in the line. You can then move the sticky point by dragging it. To get rid of a sticky point drag it into one of the classes that are at the end of the line.
Associations are created by the "Convert to Association" popup menu option which is enabled whenever the menu is popped up over a field with a Reference Type.
If you are having trouble arranging all the classes on the screen at one time, you can use the zoom feature to take a few steps back. The zoom scales are 10%, 25%, 33%, 50%, 66%, 100% and 200%.
The first time a package class diagram is created, JRefactory attempts to lay it out. This process can be repeated manually by the Rearange UML menu item. Selecting the Nudge UML moves the classes a small amount hopefully into a better arrangement.
Last Modified: 30 October 2003