org.openswing.swing.client
Class SpinnerListControl

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.openswing.swing.client.BaseInputControl
                      extended byorg.openswing.swing.client.SpinnerListControl
All Implemented Interfaces:
javax.accessibility.Accessible, javax.swing.event.ChangeListener, java.util.EventListener, java.awt.image.ImageObserver, InputControl, java.awt.MenuContainer, java.io.Serializable

public class SpinnerListControl
extends BaseInputControl
implements InputControl, javax.swing.event.ChangeListener

Title: OpenSwing Framework

Description: Spinner list input control.

Copyright: Copyright (C) 2006 Mauro Carniel

This file is part of OpenSwing Framework. This library is free software; you can redistribute it and/or modify it under the terms of the (LGPL) Lesser General Public License as published by the Free Software Foundation; GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author may be contacted at: maurocarniel@tin.it

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
SpinnerListControl()
          Contructor.
 
Method Summary
 void addChangeListener(javax.swing.event.ChangeListener listener)
          Adds a listener to the list that is notified each time a change to the model occurs.
 void addFocusListener(java.awt.event.FocusListener l)
          Adds the specified focus listener to receive focus events from this component when this component gains input focus.
 boolean disableListener()
           
 javax.swing.JComponent getBindingComponent()
           
 int getColumns()
           
 javax.swing.JComponent getComponent()
           
 Domain getDomain()
           
 java.lang.String getDomainId()
           
 int getHorizontalAlignment()
           
 java.lang.Object getNextValue()
           
 java.lang.Object getPreviousValue()
           
 javax.swing.JFormattedTextField getTextField(javax.swing.JSpinner spinner)
          Return the formatted text field used by the editor, or null if the editor doesn't descend from JSpinner.DefaultEditor.
 java.awt.ComponentOrientation getTextOrientation()
           
 java.lang.Object getValue()
           
 boolean isEnabled()
           
 boolean isReadOnly()
           
 boolean isTranslateItemDescriptions()
           
 void removeChangeListener(javax.swing.event.ChangeListener listener)
          Removes a ChangeListener from this spinner.
 void removeFocusListener(java.awt.event.FocusListener l)
          Removes the specified focus listener so that it no longer receives focus events from this component.
 int search(java.lang.String textToSeach)
          Method invoked by SearchWindowManager when the specified "textToSeach" pattern has not matchings in the current content of binded control.
 void setColumns(int columns)
          Set the number of visible characters.
 void setDomain(Domain domain)
          Set the specified domain and retrieve the spinner items from the domain.
 void setDomainId(java.lang.String domainId)
          Set the domain identifier, so the control can retrieve its items from the domain.
 void setEnabled(boolean enabled)
          Set current input control abilitation.
 void setHorizontalAlignment(int horizontalAlignment)
          Set horizontal alignment.
 void setTextOrientation(java.awt.ComponentOrientation o)
          Set the component orientation: from left to right or from right to left.
 void setTranslateItemDescriptions(boolean translateItemDescriptions)
          Define if description in spinner items must be translated; default value: true.
 void setValue(java.lang.Object code)
          Select the spinner item related to the specified code.
 void stateChanged(javax.swing.event.ChangeEvent e)
           
 
Methods inherited from class org.openswing.swing.client.BaseInputControl
addValueChangedListener, getAttributeName, getFont, getLinkLabel, getTextAlignment, getToolTipText, getValueChangeListeners, isCanCopy, isChanged, isEnabledOnEdit, isEnabledOnInsert, isRequired, removeValueChangedListener, requestFocus, setAttributeName, setCanCopy, setChanged, setEnabledOnEdit, setEnabledOnInsert, setFont, setLinkLabel, setRequired, setTextAlignment, setToolTipText
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, 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, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, 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, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, 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, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, remove, removeComponentListener, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openswing.swing.client.InputControl
addValueChangedListener, getAttributeName, getLinkLabel, getValueChangeListeners, isCanCopy, isChanged, isEnabledOnEdit, isEnabledOnInsert, isRequired, removeValueChangedListener, setAttributeName, setCanCopy, setChanged, setEnabledOnEdit, setEnabledOnInsert, setLinkLabel
 

Constructor Detail

SpinnerListControl

public SpinnerListControl()
Contructor.

Method Detail

getTextField

public javax.swing.JFormattedTextField getTextField(javax.swing.JSpinner spinner)
Return the formatted text field used by the editor, or null if the editor doesn't descend from JSpinner.DefaultEditor.


setDomainId

public final void setDomainId(java.lang.String domainId)
Set the domain identifier, so the control can retrieve its items from the domain.

Parameters:
domainId - domain identifier

setDomain

public final void setDomain(Domain domain)
Set the specified domain and retrieve the spinner items from the domain.

Parameters:
domain - domain to use to retrieve the spinner items

getDomainId

public final java.lang.String getDomainId()
Returns:
domain identifier

setValue

public final void setValue(java.lang.Object code)
Select the spinner item related to the specified code.

Specified by:
setValue in interface InputControl
Overrides:
setValue in class BaseInputControl
Parameters:
code - used to retrieve the corresponding item and to select that item in the spinner

getValue

public final java.lang.Object getValue()
Specified by:
getValue in interface InputControl
Overrides:
getValue in class BaseInputControl
Returns:
code related to the selected spinner item; it return null if no item is selected

setEnabled

public void setEnabled(boolean enabled)
Description copied from interface: InputControl
Set current input control abilitation.

Specified by:
setEnabled in interface InputControl
Overrides:
setEnabled in class BaseInputControl

isEnabled

public final boolean isEnabled()
Specified by:
isEnabled in interface InputControl
Overrides:
isEnabled in class BaseInputControl
Returns:
current input control abilitation

getBindingComponent

public javax.swing.JComponent getBindingComponent()
Overrides:
getBindingComponent in class BaseInputControl
Returns:
component inside this whose contains the value

addFocusListener

public final void addFocusListener(java.awt.event.FocusListener l)
Adds the specified focus listener to receive focus events from this component when this component gains input focus. If listener l is null, no exception is thrown and no action is performed.

Specified by:
addFocusListener in interface InputControl
Parameters:
l - the focus listener
Since:
JDK1.1
See Also:
FocusEvent, FocusListener, removeFocusListener(java.awt.event.FocusListener), Component.getFocusListeners()

removeFocusListener

public final void removeFocusListener(java.awt.event.FocusListener l)
Removes the specified focus listener so that it no longer receives focus events from this component. This method performs no function, nor does it throw an exception, if the listener specified by the argument was not previously added to this component. If listener l is null, no exception is thrown and no action is performed.

Specified by:
removeFocusListener in interface InputControl
Parameters:
l - the focus listener
Since:
JDK1.1
See Also:
FocusEvent, FocusListener, addFocusListener(java.awt.event.FocusListener), Component.getFocusListeners()

stateChanged

public final void stateChanged(javax.swing.event.ChangeEvent e)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener

addChangeListener

public void addChangeListener(javax.swing.event.ChangeListener listener)
Adds a listener to the list that is notified each time a change to the model occurs. The source of ChangeEvents delivered to ChangeListeners will be this JSpinner. Note also that replacing the model will not affect listeners added directly to JSpinner. Applications can add listeners to the model directly. In that case is that the source of the event would be the SpinnerModel.

Parameters:
listener - the ChangeListener to add
See Also:
removeChangeListener(javax.swing.event.ChangeListener), #getModel

removeChangeListener

public void removeChangeListener(javax.swing.event.ChangeListener listener)
Removes a ChangeListener from this spinner.

Parameters:
listener - the ChangeListener to remove
See Also:
#fireStateChanged, addChangeListener(javax.swing.event.ChangeListener)

getDomain

public final Domain getDomain()
Returns:
domain to use to retrieve the spinner items

getComponent

public final javax.swing.JComponent getComponent()
Returns:
spinner control

isReadOnly

public final boolean isReadOnly()
Returns:
true if the input control is in read only mode (so search is enabled), false otherwise

disableListener

public final boolean disableListener()
Returns:
true to disable key listening on input control (for instance, in case of nested grids), false to listen for key events

isTranslateItemDescriptions

public final boolean isTranslateItemDescriptions()
Returns:
define if description in spinner items must be translated

setTranslateItemDescriptions

public final void setTranslateItemDescriptions(boolean translateItemDescriptions)
Define if description in spinner items must be translated; default value: true.

Parameters:
translateItemDescriptions - flag used to define if description in spinner items must be translated

search

public final int search(java.lang.String textToSeach)
Method invoked by SearchWindowManager when the specified "textToSeach" pattern has not matchings in the current content of binded control. This callback can be used to retrieve additional data into control and to search inside new data.

Parameters:
textToSeach - patten of text to search
Returns:
-1 if no additional data is available, otherwise the row index of data just added that satify the pattern

setTextOrientation

public final void setTextOrientation(java.awt.ComponentOrientation o)
Set the component orientation: from left to right or from right to left.

Parameters:
o - component orientation

getTextOrientation

public final java.awt.ComponentOrientation getTextOrientation()
Returns:
component orientation

getColumns

public final int getColumns()
Returns:
number of visible characters

setColumns

public final void setColumns(int columns)
Set the number of visible characters.

Parameters:
columns - number of visible characters

setHorizontalAlignment

public final void setHorizontalAlignment(int horizontalAlignment)
Set horizontal alignment.

Parameters:
horizontalAlignment - horizontal alignment

getHorizontalAlignment

public final int getHorizontalAlignment()
Returns:
horizontal alignment

getNextValue

public final java.lang.Object getNextValue()
Returns:
the object in the sequence that comes after the object returned by getValue()

getPreviousValue

public final java.lang.Object getPreviousValue()
Returns:
the object in the sequence that comes before the object returned by getValue()