CloudGarden's Jigloo GUI Builder is a plugin for the Eclipse Java IDE and WebSphere Studio, which allows you to build and manage both Swing and SWT GUI classes.
Jigloo is acapable of creating and managing code for all the parts of Swing or SWT GUIs as well as code to handle events, and shows you the GUIs as they are being built.
Jigloo parses java class files to construct the form that you use when designing your GUI (round-tripping), so it can work on classes that were generated by other GUI builders or IDEs, or hand-coded classes. It can also convert from a Swing GUI to a SWT GUI and vice-versa.
Jigloo is straightforward, fast, powerful, easy to use and fully integrated with Eclipse. It can lead to substantial time-savings for GUI development and maintainance tasks.
Jigloo is highly-customizable: the parts of your code which Jigloo will parse can be restricted, and the classes which are instantiated when Jigloo parses your code and constructs the Form editor can be specified using patterns.
The code generated by Jigloo can also be customized, and existing code can be re-arranged to follow the preferred style (eg, using getters for GUI elements, or separating elements by blank lines, braces or tagged comments).
In addition, Jigloo supports visual inheritance - it can design classes which extend other custom classes, which may be public, abstract or non-public.
Navigation between code and form editors is very easy - with Jigloo highlighting the relevant section of code when the form editor has focus, or the relevant form element when the code editor has focus.
Jigloo is cross-platform and will run on Mac OS X, Windows, Linux (gtk). Jigloo has not been tested on other platforms, but may perform successfully on them
NOTE: Jigloo is free for non-commercial use, but purchase of a Professional License is required for commercial use (after successfully evaluating Jigloo).
Here are some key features of "Jigloo":
Basic:
· Builds complete Java classes for GUIs in SWT or Swing with an easy-to-use WYSIWYG editor.
· Two-way (or round-trip) java code editing - changes made in the Form Editor are reflected in the code, and changes made to the code are also reflected in the Form Editor.
· Can recognize and manipulate code generated by hand or by IDE (eg, Netbeans, JBuilder, VEP etc).
· Converts between Swing and SWT GUIs (both ways).
· Palette for adding components and setting layouts.
· Easy navigation between source and form editors, with the selection in the form editor following the location of the cursor in the source editor, and the source editor scrolling to the code relevant to the selected element in the form editor.
· Multi-selection of components - for setting of properties, layout parameters, and copy/cut/paste/delete.
· Context-menu options for adding components and setting layouts (use of palette and/or context menu controlled by preferences page).
· Manipulates most properties of the GUI components, such as colors, fonts, images, sizes, borders etc,
· Creates event handlers for any and all of the component's events.
· When creating components, initial text, image and layout properties can be quickly set using a single creation dialog.
· Basic editing commands, copy/cut/paste/delete, as well as "Move up/down", to rearrange components.
· Infinite Undo/Redo capability for all actions (setting of properties, layouts, layout constraints, cut, paste, add, delete and move).
· The GUI editor and Outline view can be used to drag/copy-and-drop components inside and between containers.
· Java code and GUI form viewed in single editor - either a split-pane (horizontal or vertical) or tabbed-pane layout is selectable.
· Generates stub models for certain elements (eg, JTable, JSpinner, JList etc), and can parse models from code.
· SWT_AWT supported (for embedding Swing components inside SWT controls and vice versa).
· Property categories - define your own categories, or move properties between pre-defined "Basic", "Expert" and "Hidden" categories
Code Handling:
· There are many ways to customize the parsing of the Java code.
· o Blocks of code which are not directly involved in building the GUI can be hidden from Jigloo by user-customizable comment tags.
· o The classes which Jigloo will instantiate while parsing the code can be controlled on a fine-grain level.
The code generated by Jigloo can also be customized:
· o It can follow the convention of the existing code (eg, JBuilder code uses getter methods to initialize it's components, and Jigloo can detect and use this format).
· o It can separate elements with braces, blank lines, or user-defined comments.
Layout:
· Handles most Swing and SWT layouts (including Swing GroupLayout, JGoodies FormLayout, Clearthoughts TableLayout, GridBag, SWT Form and absolute layouts).
· Handles custom layouts - add them like custom components.
· Delphi/Visual Studio layout-manager mode for SWT FormLayout (and Swing AnchorLayout).
· Intuitive (mouse-dragging) method for changing the grid properties of Swing GridBagLayouts.
· Snap grid allows components to be located and resized to a uniform 5 to 20 pixel grid.
· Components can be drag-and-dropped (and copy-and-dropped) between containers, re-ordered and resized by mouse-dragging.
Advanced:
· Visual Inheritance is supported - Jigloo can be used to build classes which are extensions of other visual classes.
· Custom classes extending Component (Swing) or Control (SWT) can be added to the GUI.
· Non-visual classes can also be added to the GUI, and their properties edited with the property editor.
· The class of a GUI element can be changed (eg, changing a Composite to a Group, or to a custom class) with a context-menu option.
· Parts of a GUI class can be extracted and saved as a new class.
· Easy access to the Javadoc for Swing and SWT components and layouts
· Ability to preview or run the generated java code from a toolbar button.
Requirements:
· Java
What's New in This Release: [ read full changelog ]
· New Feature: templates are now stored in separate folder inside jigloo plugin installation folder - after backing up this folder, users can modify individual templates, eg templates/swing/JFrame.txt is the template for a JFrame. Some documentation and more flexibility will be added in future versions.
· New Feature: when a form is reloaded using the context-menu "reload form editor" option, all classes are reloaded in addition to the form being re-built.
· Bug fix: SWT widgets with borders would be moved a few pixels when resizing.
· Bug fix: SWT widgets would lose their FormAttachments when their style was changed
· Bug fix: when a form uses a widget class defined in a related project, and that widget class was changed, the original form would not be reloaded and would only update on restarting eclipse.
· Bug fix: when changing the text for a text component, the Java representation of the code is edited, allowing back-slashes to be handled more intuitively.