Dashboard > SDL/Swing > ... > Navigation > Component Tags
Log In   View a printable version of the current page.
Component Tags
Added by Daniel Leuck, last edited by Daniel Leuck on Jun 12, 2010  (view change)
Labels: 
(None)


Containers

Tag Class Notes
frame com.ooi.swing.Frame A subclass of JFrame. This tag has special handling for the menubar and content pane.
pane com.ooi.swing.Pane A panel with support for java.awt.Paint, uses border layout
hpane com.ooi.swing.Pane Uses horizontal linear layout
vpane com.ooi.swing.Pane Uses vertical linear layout
glass com.ooi.swing.Glass A simple clear component
watermark com.ooi.swing.WatermarkPane A pane that supports a watermark background
scroll com.ooi.swing.ScrollPane  
tabs javax.swing.JTabbedPane  
split javax.swing.JSplitPane  

Notes: Container class layout managers can be set with the "layout" magic property like so:

    pane layout="border" // this is the default, so it need not be specified
    pane layout="spring"
    pane layout="horizontal"
    pane layout="horizontal(5)" // horizontal layout with 5 pixels between components
    pane layout="vertical"
    pane layout="grid(5,3)"
    pane layout="table(fill,fill,fill,fill|pref,pref,pref,pref,fill)"

The "loc" magic property allow constraints to be used when adding components. For example:

pane {
    button "Hello" loc="north"
    textarea
    label "Foo" loc="south"
}

The vertical and horizontal layouts support a "fill" constraint that indicates the component should fill available space.

Text Related

Tag Class Notes
label com.ooi.swing.Label  
vlabel com.ooi.swing.VerticalLabel  
multilabel com.ooi.swing.MultiLabel A multi-line label
titlepane com.ooi.swing.TitledPane  
text com.ooi.swing.TextField  
textarea javax.swing.JTextArea  
textpane javax.swing.JTextPane  
password javax.swing.JPasswordField  

Note: Labels can also be created simply by using a string literal. Example:

hpane {
    "This is a label"
}

Menu and Toolbar Related

Tag Class Notes
menus javax.swing.JMenuBar  
toolbar javax.swing.JToolBar  
menu javax.swing.JMenu  
menuitem javax.swing.JMenuItem  
checkmenuitem javax.swing.JCheckBoxMenuItem  
radiomenuitem javax.swing.JRadioButtonMenuItem  
separator com.ooi.swing.Separator  

Menus can also be created by simply using strings like so:

menus {
    "Colors" {
        "Red"
        "Green" 
        "Blue"
    }
    "Textures" {
        "Fluffy"
        "Rough"
    }
}

Radio button menus are created like so:

menus {
    "Colors" {
        radios {
            "Red"
            "Green" 
            "Blue"
        }
    }
}

Button Related

Tag Class Notes
button com.ooi.swing.Button  
toggle javax.swing.JToggleButton  
radio javax.swing.JRadioButton  
check javax.swing.JCheckBox  

Radio buttons can be specified like so:

hpane {
    radios group="gender" {
        "Male"
        "Female"
    }
}

You can get a handle on the ButtonGroup using the form object:

ButtonGroup = form.getGroup("gender");

Trees and Tables

Tag Class Notes
tree javax.swing.JTree  
table javax.swing.JTable  

Misc

Tag Class Notes
spacer com.ooi.swing.Glass Takes a single int argument (e.g. spacer 5) to create a space between components
combo javax.swing.JComboBox  
spinner javax.swing.JSpinner  
slider javax.swing.JSlider  
progress javax.swing.JProgressBar  
list javax.swing.JList  
form com.ooi.swing.Form A root container for fetching child components by name
formpane com.ooi.swing.FormPane Supports simple form layout
ref N/A A tag that loads the component named in the string that follows (see below)

The ref tag loads an sdl definition for a component from the /resources/components/ project directory. Example:

pane {
    ref "menubar" loc="north"
    pane {
        ...
    }
}

The code above loads /resources/components/menubar.sdl and adds it to a pane with the constraint BorderLayout.NORTH.

Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.8 Build:#525 Aug 08, 2006) - Bug/feature request - Contact Administrators