ReflectionUI is an open source Java GUI (general user interface) generator library.
The generation of the GUI requires no other information that the object itself. Its structure is discovered at run-time through Java reflection.The generated GUI can be customized in a non-intrusive way by overriding some key methods of the generator objects.
CustomUI is a sub-project of ReflectionUI providing a GUI builder. It actually allows WYSIWYG advanced customizations of user interfaces generated by ReflectionUI.
More videos here.
- Developing a project GUI by generating and customizing it
- Prototyping a GUI
- Exploring a library capabilities quickly through a generated GUI
- Instant prototyping
- Reduced cost of user interface development and testing
- Code injection simplified for cross-cutting concerns (logs, usage statistics, etc.)
- On the fly GUI generation
- Controls generated for public fields, methods, get/set properties, …
- Automatic undo/redo management
- Automatic copy/cut/paste management
- Dynamic menus
- Field validation
- On-line help management
- Elegant display for exceptions
- Non-intrusive customizations
- Generator pluggable to any meta-data model
- WYSIWYG GUI customization
- Various configurable controls (forms, sliders, spinners, tables, trees, html panes, …)
- Grouping and categorizing controls
- Flexible layout management
- Menus (standard and custom items)
- Extensible (control plugins)
|CustomUI (ReflectionUI)||Classical GUI builder|
|GUI code||mostly interpreted (XML-based customizations)||generated and/or interpreted|
|GUI re-usability||reusable plugins can be developed||reusable controls can be developed|
- Use Maven:
- Or Get the archive file from the download area
- Extract it
- Add the jars from the ‘lib’ directory to your classpath
- Run the class:
- Requirements: Tested on Java 8.
- License: open source LGPL (learn more).
- Get the source code and the binaries↓
- Read the user guide
- Explore the examples (‘examples’ directory in the distribution folder)
The support page is hosted here on GitHub.
You can also contact us by email: firstname.lastname@example.org.
Get more support here.