Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-501

SwingBuilder - add more components to support ButtonDemo

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.0-beta-6
    • None
    • None

    Description

      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.

      notable changes:

      • 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

      tweaks:

      • 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.

      Attachments

        1. ButtonDemo.groovy
          8 kB
          Daniel Ferrin
        2. SwingBuilder.java
          28 kB
          Daniel Ferrin
        3. swingbuilderboxy-patch.txt
          13 kB
          Daniel Ferrin
        4. swingbuilderboxy-patch-unix.txt
          13 kB
          Daniel Ferrin

        Activity

          People

            guillaume Guillaume Sauthier
            shemnon Daniel Ferrin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: