Search code examples
javaswinguser-interfacegui-builder

Gui Builder Api


I'm looking for an API that allows to create Swing Guis (for example "WindowBuilder pro" or the NetBeans Gui Builder).

Can you help me?


Solution

  • You could consider to build your application on top of the NetBeans Platform (a Swing based RCP) and reuse parts of the NetBeans GUI Builder or the Visual Library:

    http://platform.netbeans.org/graph/

    Or you could have a look at my customizer framework I wrote some years ago for such tasks: Move and resize components with the mouse and allow further customizations. "Snap-to-grid"-feature included! Maybe you find it useful. (It's open source!)

    I started to write a tutorial (still under construction!):

    http://softsmithy.sourceforge.net/lib/docs/tutorial/swing/customizer/index.html

    For adding components see:

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/CustomizerBar.html

    To customize properties use:

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JCustomizerPropertyTable.html

    Register it to the SelectionManager of the JCustomizerPane and set the CustomizableProperties-property of the JCustomizer objects.

    Also have a look at the subclasses of JCustomizer.

    E.g. there are

    customizers for images & shapes:

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JXIconCustomizer.html

    a label customizer with inline editing:

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLabelCustomizer.html

    a line customizer:

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLine2DCustomizer.html

    And there are many classes providing support for menu- and toolbar-actions. (Incuding support for some of the "Java Look and Feel Graphics Repository" actions.)

    Look at the *.swing and the *.swing.action packages.

    Just ask me if you don't find them.

    Homepage:

    http://www.softsmithy.org

    Download:

    http://sourceforge.net/projects/softsmithy/files/softsmithy/

    Maven:

    <dependency>  
        <groupid>org.softsmithy.lib</groupid>  
        <artifactid>softsmithy-lib-core</artifactid>  
        <version>0.2</version>  
    </dependency> 
    

    API:

    http://softsmithy.sourceforge.net/lib/docs/api/index.html