org.scopemvc.view.swing
Class STextArea

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.text.JTextComponent
                          |
                          +--javax.swing.JTextArea
                                |
                                +--org.scopemvc.view.swing.STextArea
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, ModelBindable, PropertyView, Refreshable, javax.swing.Scrollable, java.io.Serializable, View

public class STextArea
extends javax.swing.JTextArea
implements PropertyView, java.awt.event.FocusListener, ModelBindable, Refreshable

A JTextArea linked to a property of a bound model object. The property must have a StringConvertor to handle conversion to and from a String representation that will be edited in the textarea. Updates to the textarea result in changes to the model property when focus is lost.

STextArea responds to the bound model object or the particular bound property becoming read-only by disabling itself. An STextArea is also disabled if it has no bound model or property.

Null properties are handled in one of two ways:

  1. The textarea is disabled to prevent editing.
  2. The textarea is populated with an empty String. In this case, the bound property will contain an empty String not a null, if the textarea is populated with an empty string.
The second option is the default but that can be changed by calling setDisableOnNull(boolean).

Version:
$Revision: 1.13 $ $Date: 2002/09/13 17:04:42 $
Author:
Steve Meyfroidt
See Also:
SwingView, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JTextArea
javax.swing.JTextArea.AccessibleJTextArea
 
Nested classes inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
STextArea()
          Constructor for the STextArea object
STextArea(int rows, int columns)
          Constructor for the STextArea object
 
Method Summary
 javax.swing.JToolTip createToolTip()
          TODO: document the method
 void focusGained(java.awt.event.FocusEvent inEvent)
          TODO: document the method
 void focusLost(java.awt.event.FocusEvent inEvent)
          TODO: document the method
 java.lang.Object getBoundModel()
          Gets the bound model
 Controller getController()
          Don't assign a Controller to STextArea.
 Selector getSelector()
          Gets the selector
 java.lang.Object getViewValue()
          Get the current value (what would be set as a property of the bound model object) being presented on the View.
 boolean isDisableOnNull()
           
 void issueControl(Control inControl)
          STextArea can't issue Controls.
 void refresh()
          TODO: document the method
 void setBoundModel(java.lang.Object inModel)
          Sets the bound model
 void setController(Controller inController)
          Don't assign a Controller to this component, instead delegate to the containing SwingView that has a parent Controller.
 void setDisableOnNull(boolean inDisable)
          Set this to true if the textarea should be disabled when it edits a null String.
 void setSelector(Selector inSelector)
          Sets the selector
 void setSelectorString(java.lang.String inSelectorString)
          Sets the selector string
 void setText(java.lang.String t)
          Override to call super.setText() only if new value not equals() old value.
protected  void setupStringConvertor()
          TODO: document the method
 void updateFromProperty(java.lang.Object inValue, boolean inReadOnly)
          Converts the incoming value to a String via appropriate StringConvertor.
 void validationFailed(java.lang.Exception inException)
          TODO: document the method
 void validationSuccess()
          TODO: document the method
 
Methods inherited from class javax.swing.JTextArea
append, createDefaultModel, getAccessibleContext, getColumns, getColumnWidth, getLineCount, getLineEndOffset, getLineOfOffset, getLineStartOffset, getLineWrap, getPreferredScrollableViewportSize, getPreferredSize, getRowHeight, getRows, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getTabSize, getUIClassID, getWrapStyleWord, insert, paramString, replaceRange, setColumns, setFont, setLineWrap, setRows, setTabSize, setWrapStyleWord
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, 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

STextArea

public STextArea()
Constructor for the STextArea object


STextArea

public STextArea(int rows,
                 int columns)
Constructor for the STextArea object

Parameters:
rows - TODO: Describe the Parameter
columns - TODO: Describe the Parameter
Method Detail

isDisableOnNull

public final boolean isDisableOnNull()
Returns:
true if the textarea should be disabled when it edits a null property value. Otherwise, a null property is treated as an empty String.

getBoundModel

public final java.lang.Object getBoundModel()
Gets the bound model

Specified by:
getBoundModel in interface View
Returns:
The boundModel value

getSelector

public final Selector getSelector()
Gets the selector

Specified by:
getSelector in interface PropertyView
Returns:
The selector value

getViewValue

public java.lang.Object getViewValue()
                              throws java.lang.IllegalArgumentException
Get the current value (what would be set as a property of the bound model object) being presented on the View.

Specified by:
getViewValue in interface ModelBindable
Returns:
property value from parsing the textarea's current String representation.
Throws:
java.lang.IllegalArgumentException - if the conversion from String fails.

getController

public Controller getController()
Don't assign a Controller to STextArea.

Specified by:
getController in interface View
Returns:
The controller value

issueControl

public void issueControl(Control inControl)
STextArea can't issue Controls.

Specified by:
issueControl in interface View
Parameters:
inControl - TODO: Describe the Parameter

setDisableOnNull

public final void setDisableOnNull(boolean inDisable)
Set this to true if the textarea should be disabled when it edits a null String. Otherwise, a null property is treated as an empty String.

Parameters:
inDisable - The new disableOnNull value

setBoundModel

public final void setBoundModel(java.lang.Object inModel)
Sets the bound model

Specified by:
setBoundModel in interface View
Parameters:
inModel - The new boundModel value

setSelector

public final void setSelector(Selector inSelector)
Sets the selector

Specified by:
setSelector in interface PropertyView
Parameters:
inSelector - The new selector value

setSelectorString

public final void setSelectorString(java.lang.String inSelectorString)
Sets the selector string

Parameters:
inSelectorString - The new selectorString value

setText

public void setText(java.lang.String t)
Override to call super.setText() only if new value not equals() old value.

Overrides:
setText in class javax.swing.text.JTextComponent
Parameters:
t - new text.

setController

public void setController(Controller inController)
Don't assign a Controller to this component, instead delegate to the containing SwingView that has a parent Controller.

Specified by:
setController in interface View
Parameters:
inController - The new controller value

updateFromProperty

public void updateFromProperty(java.lang.Object inValue,
                               boolean inReadOnly)
Converts the incoming value to a String via appropriate StringConvertor. For incoming null either disable field or set text to empty String.

Specified by:
updateFromProperty in interface ModelBindable
Parameters:
inValue - TODO: Describe the Parameter
inReadOnly - TODO: Describe the Parameter

validationFailed

public void validationFailed(java.lang.Exception inException)
TODO: document the method

Specified by:
validationFailed in interface ModelBindable
Parameters:
inException - TODO: Describe the Parameter

validationSuccess

public void validationSuccess()
TODO: document the method

Specified by:
validationSuccess in interface ModelBindable
See Also:
ModelBindable.validationFailed(java.lang.Exception)

createToolTip

public javax.swing.JToolTip createToolTip()
TODO: document the method

Overrides:
createToolTip in class javax.swing.JComponent
Returns:
TODO: Describe the Return Value

focusLost

public void focusLost(java.awt.event.FocusEvent inEvent)
TODO: document the method

Specified by:
focusLost in interface java.awt.event.FocusListener
Parameters:
inEvent - TODO: Describe the Parameter

focusGained

public void focusGained(java.awt.event.FocusEvent inEvent)
TODO: document the method

Specified by:
focusGained in interface java.awt.event.FocusListener
Parameters:
inEvent - TODO: Describe the Parameter

refresh

public void refresh()
TODO: document the method

Specified by:
refresh in interface Refreshable

setupStringConvertor

protected void setupStringConvertor()
TODO: document the method



Copyright © 2000-2002 The Scope Team. All Rights Reserved.