Class JPropertySheet

  extended byjava.awt.Component
      extended byhades.gui.PropertySheet
          extended byhades.gui.JPropertySheet
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class JPropertySheet
extends PropertySheet
implements java.awt.event.ActionListener

JPropertySheet - SimObject/Bean inspection class for HADES.

construct a Swing based property sheet dialog for the given simulation component.

See Also:
Serialized Form

Nested Class Summary
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
Field Summary
(package private) static java.lang.String[] dummy
Fields inherited from class hades.gui.PropertySheet
_objectTable, debug
Fields inherited from class java.awt.Component
Fields inherited from interface java.awt.image.ImageObserver
Constructor Summary
JPropertySheet(SimObject obj, java.awt.Frame frame, java.lang.String[] _fields)
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
 void addRow(int i, java.lang.String label, java.lang.String fieldname)
 void applyValues()
          applyValues(): retrieve the values from all our TextFields and apply them to the SimObject's instance variables.
 void buildButtonPanel()
          buildButtonPanel(): build the Panel with the 'Cancel', 'Apply', and 'OK' Buttons.
 void buildCenterPanel()
          buildCenterPanel(): the central method of the JPropertySheet GUI construction.
 void buildTopPanel()
          buildTopPanel(): build the Panel with the 'help text' on top of this JPropertySheet.
 java.lang.String capitalize(java.lang.String s)
          handle Java's naming convention: variable xyz -> setXyz(), getXyz()
 void dispose()
 void enableUpdateButton(boolean enable)
 void hideWindow()
          hideWindow(): called when this JPropertySheet is no longer needed.
static void main(java.lang.String[] argv)
 void pack()
 void setHelpText(java.lang.String msg)
          setHelpText(): set the 'help' text displayed on the top of this JPropertySheet.
 void setVisible(boolean b)
 void tearDown()
          clear references held by this property sheet, then dispatch to dispose() to release GUI resources.
 void updateValues()
Methods inherited from class hades.gui.PropertySheet
buildTitle, getInstanceNamePropertySheet, getPropertySheet, getPropertySheet, msg
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail


static java.lang.String[] dummy
Constructor Detail


public JPropertySheet(SimObject obj,
                      java.awt.Frame frame,
                      java.lang.String[] _fields)
Method Detail


public void pack()
Specified by:
pack in class PropertySheet


public void setVisible(boolean b)


public void dispose()
Specified by:
dispose in class PropertySheet


public void tearDown()
clear references held by this property sheet, then dispatch to dispose() to release GUI resources.

Specified by:
tearDown in class PropertySheet


public void buildTopPanel()
buildTopPanel(): build the Panel with the 'help text' on top of this JPropertySheet.


public void setHelpText(java.lang.String msg)
setHelpText(): set the 'help' text displayed on the top of this JPropertySheet.

Specified by:
setHelpText in class PropertySheet


public void buildButtonPanel()
buildButtonPanel(): build the Panel with the 'Cancel', 'Apply', and 'OK' Buttons.


public void enableUpdateButton(boolean enable)
Specified by:
enableUpdateButton in class PropertySheet


public void buildCenterPanel()
buildCenterPanel(): the central method of the JPropertySheet GUI construction. Use the Java 1.1 reflection API to determine the fields (instance variables) corresponding to the names given in our constructor. Get and display the values of these variables in TextFields.


public void addRow(int i,
                   java.lang.String label,
                   java.lang.String fieldname)


public void applyValues()
applyValues(): retrieve the values from all our TextFields and apply them to the SimObject's instance variables. We use reflection to call the corresponding setter methods of the SimObject. After setting all values, we also try to call the applyValueCallback hook via reflection.

Please note that it is currently not possible to 'undo' an applyValues() call...


public void updateValues()


public void actionPerformed(java.awt.event.ActionEvent evt)
Specified by:
actionPerformed in interface java.awt.event.ActionListener


public void hideWindow()
hideWindow(): called when this JPropertySheet is no longer needed.


public java.lang.String capitalize(java.lang.String s)
handle Java's naming convention: variable xyz -> setXyz(), getXyz()


public static void main(java.lang.String[] argv)