hades.gui
Class JPropertySheet

java.lang.Object
  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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
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

dummy

static java.lang.String[] dummy
Constructor Detail

JPropertySheet

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

pack

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

setVisible

public void setVisible(boolean b)

dispose

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

tearDown

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

Specified by:
tearDown in class PropertySheet

buildTopPanel

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


setHelpText

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

buildButtonPanel

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


enableUpdateButton

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

buildCenterPanel

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.


addRow

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

applyValues

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


updateValues

public void updateValues()

actionPerformed

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

hideWindow

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


capitalize

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


main

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