Last updated January 02, 2012 07:55, by Michael Bar-Sinai
Recent Updates
- NEW Added Panel Post Processors, allowing for customizing built panels without referencing them.
- PanelMatic is now Dual licensed: APLv2 and GPL, so everyone can use it now (hopefully).
- Geertjan Wielenga, Principal Product Manager in the Oracle Developer Tools, refers to PanelMatic in his blog.
What is this project?
PanelMatic is a library that allows building common UI panels easily. PanelMatic was built with this in mind:
- Have a simple and intuitive connection between how the code and the UI are laid out
- Allow modifying existing UI easily
- Have sensible defaults, i.e. no customization necessary for most projects
- Allow for easy customizations (e.g. to get that corporate look)
- Internationalization, including RTL support
- Allow for full implementation change with no change in the client code (like JPA)
- Use design-time validations (i.e. not parsing strings at runtime)
- Make panel creation an expression rather than a bunch of statements (Allows for functional-style UI creation)
- Find a valid use case for varargs, which is not related to
printf()
Simple Example
This:
createComponents(); // or however you create your components PanelMatic.begin() .addHeader(HeaderLevel.H1, "User Data") .add( "Name", txfName ) .add( "Username", txfUsername ) .add( "Password", txfPassword ) .add( cbIsAdmin ) .add( btnOk, Modifiers.L_END, Modifiers.P_FEET, Modifiers.GROW ) .get();
Would get you this panel:





