CookSwing is a library which builds Java Swing GUI from XML documents.
It is under continuously active development, since I make a living by doing Swing GUI :) Unlike many other XUL toolkits, Swing is complete in its capability dealing with Swing and beyond.
It is mature and stable. If you like this library, please help spreading the word.
- All Swing components can be configured.
- All AWT/Swing LayoutManagers, including GridBagLayout and SpringLayout, can be used.
- Optional JGoodies Forms layout with CookFormLayout.
- All Listeners: AWT (ActionListener, etc), Swing (ChangeListener, etc) and Bean (PropertyChangeListener, etc) can be attached to any components that support them.
- Synchronize menu and button states in XML. This feature was the original motivation to write CookSwing.
- All Swing Border classes, including complex CompoundBorder can be built.
- Simple custom tags extensions, with many fully functional tags added using one line statement. In fact, you can view the CookSwing tag library as an extension to CookXml, the XML decoding engine behind CookSwing.
- Include other XML documents.
- Support Locale and ResourceBundle. DocumentBuilder can also be changed to your taste.
- Beyond Swing. Various containers (Vector, LinkedList, Map, Set, and such), String, Integer, Icon, etc can all be configured within CookSwing.