ReflectionUI is a free (open source) Java GUI builder/generator library.
The generation of the GUI (graphical user interface) 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 (dependencies)
- 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 and 17.
- License: open source: MIT (learn more).
- Use maven (dependencies)
- Or 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: email@example.com.