org.scopemvc.view.swing
Class SLabel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JLabel
                          |
                          +--org.scopemvc.view.swing.SLabel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, ModelBindable, PropertyView, Refreshable, java.io.Serializable, javax.swing.SwingConstants, View

public class SLabel
extends javax.swing.JLabel
implements PropertyView, ModelBindable, Refreshable

A JLabel 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 textfield.

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

Version:
$Revision: 1.9 $ $Date: 2002/09/13 17:04:39 $
Author:
Steve Meyfroidt
, Ludovic Claude
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
 
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.JLabel
labelFor
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SLabel()
          Creates a SLabel instance with no image and with an empty string for the title.
SLabel(javax.swing.Icon image)
          Creates a SLabel instance with the specified image.
SLabel(javax.swing.Icon image, int horizontalAlignment)
          Creates a SLabel instance with the specified image and horizontal alignment.
SLabel(java.lang.String text)
          Creates a SLabel instance with the specified text.
SLabel(java.lang.String text, javax.swing.Icon icon, int horizontalAlignment)
          Creates a SLabel instance with the specified text, image, and horizontal alignment.
SLabel(java.lang.String text, int horizontalAlignment)
          Creates a SLabel instance with the specified text and horizontal alignment.
 
Method Summary
 java.lang.Object getBoundModel()
          Gets the bound model
 Controller getController()
          Don't assign a Controller to STextField, instead delegate to the containing SwingView that has a parent Controller.
 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.
 void issueControl(Control inControl)
          SLabel don't issue any control
 void refresh()
          Description of 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 setSelector(Selector inSelector)
          Sets the selector
 void setSelectorString(java.lang.String inSelectorString)
          Sets the selector string
 void setStringConvertor(StringConvertor inConvertor)
          Force use of this StringConvertor instead of automatically finding one to match the datatype being edited.
 void setText(java.lang.String t)
          Override to call super.setText() only if new value not equals() old value.
protected  void setupStringConvertor()
          Description of 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)
          Makes no sense.
 void validationSuccess()
          Makes no sense.
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setUI, setVerticalAlignment, setVerticalTextPosition, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, 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, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, 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, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, 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, addInputMethodListener, 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, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

SLabel

public SLabel(java.lang.String text,
              javax.swing.Icon icon,
              int horizontalAlignment)
Creates a SLabel instance with the specified text, image, and horizontal alignment. The label is centered vertically in its display area. The text is on the trailing edge of the image.

Parameters:
text - The text to be displayed by the label.
icon - The image to be displayed by the label.
horizontalAlignment - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.

SLabel

public SLabel(java.lang.String text,
              int horizontalAlignment)
Creates a SLabel instance with the specified text and horizontal alignment. The label is centered vertically in its display area.

Parameters:
text - The text to be displayed by the label.
horizontalAlignment - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.

SLabel

public SLabel(java.lang.String text)
Creates a SLabel instance with the specified text. The label is aligned against the leading edge of its display area, and centered vertically.

Parameters:
text - The text to be displayed by the label.

SLabel

public SLabel(javax.swing.Icon image,
              int horizontalAlignment)
Creates a SLabel instance with the specified image and horizontal alignment. The label is centered vertically in its display area.

Parameters:
horizontalAlignment - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.
image - Description of the Parameter

SLabel

public SLabel(javax.swing.Icon image)
Creates a SLabel instance with the specified image. The label is centered vertically and horizontally in its display area.

Parameters:
image - Description of the Parameter

SLabel

public SLabel()
Creates a SLabel instance with no image and with an empty string for the title. The label is centered vertically in its display area. The label's contents, once set, will be displayed on the leading edge of the label's display area.

Method Detail

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

getController

public Controller getController()
Don't assign a Controller to STextField, instead delegate to the containing SwingView that has a parent Controller.

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

issueControl

public void issueControl(Control inControl)
SLabel don't issue any control

Specified by:
issueControl in interface View
Parameters:
inControl - Description of the Parameter

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 textfield's current String representation.
Throws:
java.lang.IllegalArgumentException - if the conversion from String fails.

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

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

setStringConvertor

public void setStringConvertor(StringConvertor inConvertor)
Force use of this StringConvertor instead of automatically finding one to match the datatype being edited.

Parameters:
inConvertor - The new stringConvertor 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.JLabel
Parameters:
t - new text.

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 - Description of the Parameter
inReadOnly - Description of the Parameter

validationFailed

public void validationFailed(java.lang.Exception inException)
Makes no sense.

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

validationSuccess

public void validationSuccess()
Makes no sense.

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

refresh

public void refresh()
Description of the Method

Specified by:
refresh in interface Refreshable

setupStringConvertor

protected void setupStringConvertor()
Description of the Method



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