gui4j is a framework for describing Java Swing GUIs completely in XML. The GUI is created dynamically based on the XML definitions. Each GUI window is associated with exactly one top-level XML file. Each XML file can dynamically include other XML files to support complex GUI definitions. Each XML file is associated with a Java object that acts as both a Controller and a Model for the GUI. There is a strong layer separation between the GUI and the Controller: GUI definitions in the XML files can access all Java methods of the Controller, but Java methods cannot access any GUI elements directly. Events are used to trigger changes in the GUI. It requires Java 1.4.0 or higher.
| Tags | Software Development Libraries Java Libraries User Interfaces |
|---|---|
| Operating Systems | OS Independent |
| Implementation | Java |
Recent releases


Changes: There are a few minor additions and a fix for a subtle bug in gui4j's thread handling mechanism.


Changes: The most notable new feature is the ability to read XML definitions from sources other than files. See the new class Gui4jResourceProvider. A bug introduced in release 1.2.1 where the current thread did not block when displaying a dialog with Gui4jDialog.show() has been fixed. A bug where the actionCommand of an edit component was not executed when the user pressed enter has been fixed.


No changes have been submitted for this release.


Changes: This release adds the components toolbar, simpleInternalFrame, and toggleButton. The ability to dynamically color matrix cells depending on their contents has been added. Several attributes have been added to a variety of components.


No changes have been submitted for this release.
80x86 assembler designed for portability and modularity
- All comments
Recent commentsCVS is now hosted on sourceforge
The SourceCode of the gui4j project has moved to the CVS service of sourceforge.
Have a look at the current version (developing towards 1.2) which adds support for toolbars and "simpleInternalFrames" as well as the possibility to change a matrix cell's foreground and background colors dynamically based on the cell's content.