VASSAL.build.widget
Class BoxWidget

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.Widget
                    |
                    +--VASSAL.build.widget.BoxWidget
All Implemented Interfaces:
AutoConfigurable, Buildable, Configurable, java.util.EventListener, java.awt.event.ItemListener, java.beans.PropertyChangeListener

public class BoxWidget
extends Widget
implements java.awt.event.ItemListener, java.beans.PropertyChangeListener

A Widget that corresponds to a panel with a JComboBox above a JPanel with a CardLayout layout. Adding a Widget to a BoxWidget adds the child Widget's component to the JPanel and add's the child's name (via Configurable.getConfigureName()) to the JComboBox. Changing the selection of the JComboBox shows the corresponding child's component


Inner classes inherited from class VASSAL.build.Widget
Widget.MyCellRenderer
 
Inner classes inherited from class VASSAL.build.AutoConfigurable
AutoConfigurable.Util
 
Fields inherited from class VASSAL.build.Widget
buildElement, HEIGHT, NAME, parent, WIDTH
 
Fields inherited from class VASSAL.build.AbstractConfigurable
changeSupport, config, name
 
Fields inherited from class VASSAL.build.AbstractBuildable
buildComponents
 
Fields inherited from interface VASSAL.build.Configurable
NAME_PROPERTY
 
Constructor Summary
BoxWidget()
           
 
Method Summary
 void add(Buildable b)
          Adds a child component.
 java.lang.String[] getAttributeDescriptions()
          Return an array of Strings describing the attributes of this object.
 java.lang.String[] getAttributeNames()
           
 java.lang.Class[] getAttributeTypes()
          Return the Class for the attributes of this object.
 java.lang.String getAttributeValueString(java.lang.String name)
          Called by the Widget.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
 java.awt.Component getComponent()
           
static java.lang.String getConfigureTypeName()
           
 void itemStateChanged(java.awt.event.ItemEvent e)
           
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void remove(Buildable b)
          Remove a Buildable object from this object
 void setAttribute(java.lang.String name, java.lang.Object value)
          Called by the Widget.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute.
 
Methods inherited from class VASSAL.build.Widget
addTo, build, getAllowableConfigureComponents, getBuildElement, getConfigureComponents, getHelpFile, getParent, rebuild, removeFrom
 
Methods inherited from class VASSAL.build.AbstractConfigurable
addPropertyChangeListener, getAttributeVisibility, getConfigureName, getConfigurer, setConfigureName
 
Methods inherited from class VASSAL.build.AbstractBuildable
getBuildComponents, getComponents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BoxWidget

public BoxWidget()
Method Detail

getConfigureTypeName

public static java.lang.String getConfigureTypeName()

add

public void add(Buildable b)
Description copied from interface: Buildable
Adds a child component. Both this method and Buildable.addTo(VASSAL.build.Buildable) are invoked when adding a child to a parent
Overrides:
add in class AbstractBuildable

remove

public void remove(Buildable b)
Description copied from class: AbstractConfigurable
Remove a Buildable object from this object
Overrides:
remove in class AbstractConfigurable

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

getComponent

public java.awt.Component getComponent()
Overrides:
getComponent in class Widget
Following copied from class: VASSAL.build.Widget
Returns:
the Component for this widget. For efficiency, the Component may be initialized lazily instead of being created in the Buildable.build(org.w3c.dom.Element) method

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

getAttributeNames

public java.lang.String[] getAttributeNames()
Overrides:
getAttributeNames in class AbstractBuildable
Following copied from interface: VASSAL.build.AutoConfigurable
Returns:
an array of Strings giving all attributes of this Buildable component that will be written to/read from an XML element

getAttributeDescriptions

public java.lang.String[] getAttributeDescriptions()
Description copied from class: AbstractConfigurable
Return an array of Strings describing the attributes of this object. These strings are used as prompts in the Properties window for this object. The order of descriptions should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeDescriptions in class AbstractConfigurable

getAttributeTypes

public java.lang.Class[] getAttributeTypes()
Description copied from class: AbstractConfigurable
Return the Class for the attributes of this object. Valid classes are: String, Integer, Double, Boolean, Image, Color, and KeyStroke The order of classes should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeTypes in class AbstractConfigurable

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Description copied from interface: AutoConfigurable
Called by the Buildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute. Can also be called with Object value to set the attribute.
Overrides:
setAttribute in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

getAttributeValueString

public java.lang.String getAttributeValueString(java.lang.String name)
Description copied from interface: AutoConfigurable
Called by the Buildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
Overrides:
getAttributeValueString in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()