For a test of the relative size and ease of a Groovy swing applicaiton I though of re-implementing the SwingSet from the JFC demos in groovy. It wound up being about a third of the size of the original!
To do a really groovy job I needed to add some more items and concepts to the SwingBuilder.jar.
- add more methiods from javax.swing.Box for glue, struts, and rigid areas
- add buttonGroup case for AbstractButtons so we don't have to dive into the model to set a button group on a checkBox or radioButton
- add support for adding components to a tabbed pane explicitly
- introduce some "pass through nodes" where the widget is not nesscicarily created but provided by the user (an elaboration of the widget() node from
GROOVY-333) they are widget, action, and tableModel.
- refactor code where attribures are set as java beans proeprties on the widget.
This patch may contain stuff from the
GROOVY-333 patch. I don't thuink it's been applied yet.
Also, ButtonDemo.groovy is the portion of the Buttons tab from SwingSet in ButtonDemo.java, sans the images.