org.opensourcephysics.controls
Class OSPControlTable

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JTable
                  extended by org.opensourcephysics.controls.XMLTable
                      extended by org.opensourcephysics.controls.OSPControlTable
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.CellEditorListener, javax.swing.event.ListSelectionListener, javax.swing.event.RowSorterListener, javax.swing.event.TableColumnModelListener, javax.swing.event.TableModelListener, javax.swing.Scrollable, Control

public class OSPControlTable
extends XMLTable
implements Control

OSPControlTable automaitally converts strings, such "pi" or "sqrt(2)" to numbers when getDouble and getInt are invoked.

Version:
1.1
Author:
W. Christian
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTable
javax.swing.JTable.AccessibleJTable, javax.swing.JTable.DropLocation, javax.swing.JTable.PrintMode
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JTable
AUTO_RESIZE_ALL_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_OFF, AUTO_RESIZE_SUBSEQUENT_COLUMNS, autoCreateColumnsFromModel, autoResizeMode, cellEditor, cellSelectionEnabled, columnModel, dataModel, defaultEditorsByColumnClass, defaultRenderersByColumnClass, editingColumn, editingRow, editorComp, gridColor, preferredViewportSize, rowHeight, rowMargin, rowSelectionAllowed, selectionBackground, selectionForeground, selectionModel, showHorizontalLines, showVerticalLines, tableHeader
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface org.opensourcephysics.controls.Control
NOT_EDITABLE_BACKGROUND
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
OSPControlTable()
          Constructs OSPControlTable and creates an XMLControlElement.
OSPControlTable(XMLControlElement control)
          Constructs OSPControlTable with the given control.
 
Method Summary
 void calculationDone(java.lang.String message)
          Notifies the control when a calculation has completed.
 void clearMessages()
          Clears all text from the control's message area.
 void clearValues()
          Clears all text from the control's data input area.
 boolean getBoolean(java.lang.String par)
          Gets a stored boolean from the control.
 double getDouble(java.lang.String par)
          Reads a double value from the table.
 int getInt(java.lang.String par)
          Reads a parameter value from the input display.
static XML.ObjectLoader getLoader()
          Returns an XML.ObjectLoader to save and load data for this object.
 java.lang.Object getObject(java.lang.String par)
          Gets the object with the specified property name.
 java.util.Collection<java.lang.String> getPropertyNames()
          Gets the names of all properties stored in this control.
 java.lang.String getString(java.lang.String par)
          Gets a stored string from the control.
 boolean inputError(java.lang.String par)
          Test if the last "get" method produced an input error.
 void print(java.lang.String s)
          Prints a string in the control's message area.
 void println()
          Prints a blank line in the control's message area.
 void println(java.lang.String s)
          Prints a string in the control's message area followed by a CR and LF.
 void removeParameter(java.lang.String par)
          Removes a parameter from the table.
 void setDecimalFormat(java.lang.String pattern)
          Sets the format pattern used for floating point numbers.
 void setLockValues(boolean lock)
          Locks the control's interface.
 void setValue(java.lang.String par, boolean val)
          Stores a name and a boolean value in the control.
 void setValue(java.lang.String par, double val)
          Adds an initial value of a parameter to the input display.
 void setValue(java.lang.String par, int val)
          Adds an initial value of a parameter to the input display.
 void setValue(java.lang.String par, java.lang.Object val)
          Adds a parameter to the input display.
 
Methods inherited from class org.opensourcephysics.controls.XMLTable
addControlListener, addControlListener, getBackgroundColor, getCellEditor, getCellRenderer, getControl, getEditingColor, getSelectedColor, isCellEditable, isEditable, isEditable, refresh, setBackgroundColor, setEditable, setEditable, setEditingColor, setFont, setSelectedColor, tableChanged
 
Methods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, convertRowIndexToModel, convertRowIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoCreateRowSorter, getAutoResizeMode, getCellEditor, getCellRect, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getDragEnabled, getDropLocation, getDropMode, getEditingColumn, getEditingRow, getEditorComponent, getFillsViewportHeight, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getPrintable, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getRowSorter, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getToolTipText, getUI, getUIClassID, getUpdateSelectionOnSort, getValueAt, initializeLocalVars, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, paramString, prepareEditor, prepareRenderer, print, print, print, print, print, processKeyBinding, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoCreateRowSorter, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setDropMode, setEditingColumn, setEditingRow, setFillsViewportHeight, setGridColor, setIntercellSpacing, setModel, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setRowSorter, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setUpdateSelectionOnSort, setValueAt, sizeColumnsToFit, sizeColumnsToFit, sorterChanged, unconfigureEnclosingScrollPane, updateUI, valueChanged
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OSPControlTable

public OSPControlTable()
Constructs OSPControlTable and creates an XMLControlElement.


OSPControlTable

public OSPControlTable(XMLControlElement control)
Constructs OSPControlTable with the given control.

Parameters:
control - XMLControlElement
Method Detail

setLockValues

public void setLockValues(boolean lock)
Locks the control's interface. Values sent to the control will not update the display until the control is unlocked.

Specified by:
setLockValues in interface Control
Parameters:
lock - boolean

setValue

public void setValue(java.lang.String par,
                     java.lang.Object val)
Adds a parameter to the input display.

Specified by:
setValue in interface Control
Parameters:
par - the parameter name
val - the initial parameter value

setDecimalFormat

public void setDecimalFormat(java.lang.String pattern)
Sets the format pattern used for floating point numbers.

Parameters:
pattern - String

setValue

public void setValue(java.lang.String par,
                     double val)
Adds an initial value of a parameter to the input display.

Specified by:
setValue in interface Control
Parameters:
par - the parameter name
val - the initial parameter value

setValue

public void setValue(java.lang.String par,
                     int val)
Adds an initial value of a parameter to the input display.

Specified by:
setValue in interface Control
Parameters:
par - the parameter name
val - the initial parameter value

setValue

public void setValue(java.lang.String par,
                     boolean val)
Description copied from interface: Control
Stores a name and a boolean value in the control. GUI controls will usually display the name followed by an equal sign followed by the toString<\code> representation of the integer.

Specified by:
setValue in interface Control

getInt

public int getInt(java.lang.String par)
Reads a parameter value from the input display.

Specified by:
getInt in interface Control
Parameters:
par -
Returns:
int the value of of the parameter

inputError

public boolean inputError(java.lang.String par)
Test if the last "get" method produced an input error.

Parameters:
par - String
Returns:
boolean

getDouble

public double getDouble(java.lang.String par)
Reads a double value from the table.

Specified by:
getDouble in interface Control
Parameters:
par - String the parameter key
Returns:
double the value of of the parameter

getObject

public java.lang.Object getObject(java.lang.String par)
                           throws java.lang.UnsupportedOperationException
Gets the object with the specified property name. Throws an UnsupportedOperationException if the named object has not been stored.

Specified by:
getObject in interface Control
Parameters:
par -
Returns:
the object
Throws:
java.lang.UnsupportedOperationException

getString

public java.lang.String getString(java.lang.String par)
Description copied from interface: Control
Gets a stored string from the control. Srings have usually been initialized with the setValue (String name, Object val)<\code> method. GUI controls will usually allow the user to edit the value of the parameter.

Specified by:
getString in interface Control
Returns:
the value of the parameter

getBoolean

public boolean getBoolean(java.lang.String par)
Description copied from interface: Control
Gets a stored boolean from the control. Srings have usually been initialized with the setValue (String name, Object val)<\code> method. GUI controls will usually allow the user to edit the value of the parameter.

Specified by:
getBoolean in interface Control
Returns:
the value of the parameter

getPropertyNames

public java.util.Collection<java.lang.String> getPropertyNames()
Description copied from interface: Control
Gets the names of all properties stored in this control.

Specified by:
getPropertyNames in interface Control
Returns:
List

removeParameter

public void removeParameter(java.lang.String par)
Removes a parameter from the table.

Parameters:
par - the parameter name

println

public void println(java.lang.String s)
Description copied from interface: Control
Prints a string in the control's message area followed by a CR and LF. GUI controls will usually display messages in a non-editable text area.

Specified by:
println in interface Control

println

public void println()
Description copied from interface: Control
Prints a blank line in the control's message area. GUI controls will usually display messages in a non-editable text area.

Specified by:
println in interface Control

print

public void print(java.lang.String s)
Description copied from interface: Control
Prints a string in the control's message area. GUI controls will usually display messages in a non-editable text area.

Specified by:
print in interface Control

clearMessages

public void clearMessages()
Description copied from interface: Control
Clears all text from the control's message area.

Specified by:
clearMessages in interface Control

clearValues

public void clearValues()
Description copied from interface: Control
Clears all text from the control's data input area.

Specified by:
clearValues in interface Control

calculationDone

public void calculationDone(java.lang.String message)
Description copied from interface: Control
Notifies the control when a calculation has completed. Some controls, such as the animation control, change their appearance during a calculation. A completed calculation, such as when a predetermined tolerance is reached, can call this method. The message will be displayed in the control's message area.

Specified by:
calculationDone in interface Control

getLoader

public static XML.ObjectLoader getLoader()
Returns an XML.ObjectLoader to save and load data for this object.

Returns:
the object loader