form4j is a java package to provide easy interactive GUI forms for java clients.
Two reasons led to the implementation of this package:
- Most projects with java clients need some type of interactive data entry
- XML has become enough widespread to base such a form package entirely on it.
The always occuring functionalities for data entry should be covered by a single
package - free from business logic, but easily embeddable into a wide variety of
data entry and manipulation tasks.
Data interchange based completely on XML.
form4j eats any data in XML format.
Form definitions also in XML.
XPath expressions are used to give full flexibility to reference any data from specific
The form layout is based on TableLayout to give enough flexibility without
too many layouting attributes.
A DOMModel ensures full MVC (Model-View-Controller) functionality among different form fields pointing to the
same underlying data.
Conditional form elements: Any fields or form areas may be bound to XPath expressions on the data, to control
Visibility and Editability.
Inherited attributes: To avoid stupid repetition of field attributes within the form definition, many attributes are
inheritable from ancestor elements.