org.scopemvc.view.swing
Class SList

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JList
                          |
                          +--org.scopemvc.view.swing.SList
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, ListSelectionParent, java.awt.MenuContainer, java.awt.event.MouseListener, Refreshable, javax.swing.Scrollable, java.io.Serializable, View

public class SList
extends javax.swing.JList
implements View, java.awt.event.MouseListener, Refreshable, ListSelectionParent

A JList that uses a SListModel to bind to model properties, and a SListSelectionModel to bind the selected item to a property. Uses a SListCellRenderer to draw items in the list.

SList can issue Controls on selection changes and on double-click.

SList doesn't itself bind to a model: it delegates all binding to its SListModel and SListSelectionModel.

Version:
$Revision: 1.12 $ $Date: 2002/09/13 17:04:40 $
Author:
Steve Meyfroidt
See Also:
SListModel, SListSelectionModel, SListCellRenderer, SAbstractListModel, SComboBox, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JList
javax.swing.JList.AccessibleJList
 
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.JList
HORIZONTAL_WRAP, VERTICAL, VERTICAL_WRAP
 
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
SList()
          Constructor for the SList object
 
Method Summary
protected  javax.swing.ListSelectionModel createSelectionModel()
          TODO: document the method
 javax.swing.JToolTip createToolTip()
          TODO: document the method
 java.lang.Object findElementAt(int inIndex)
          Null if not found.
 int findIndexFor(java.lang.Object inValue)
          -1 if not found.
 java.lang.Object getBoundModel()
          Gets the bound model
 java.lang.String getChangeSelectionControlID()
          Gets the change selection control ID
 Controller getController()
          Don't assign a direct Controller to List, instead delegate to the containing SwingView that has a parent Controller.
 java.lang.String getDoubleClickControlID()
          Gets the double click control ID
 Selector getRendererIconSelector()
          Gets the renderer icon selector
 Selector getRendererSelector()
          Gets the renderer selector
 Selector getSelectionSelector()
          Gets the selection selector
 Selector getSelector()
          Gets the selector
 Selector getSizeSelector()
          Gets the size selector
 void issueChangeSelectionControl()
          TODO: document the method
 void issueControl(Control inControl)
          Don't assign a direct Controller to List, instead delegate to the containing SwingView that has a parent Controller.
 void mouseClicked(java.awt.event.MouseEvent e)
          TODO: document the method
 void mouseEntered(java.awt.event.MouseEvent e)
          TODO: document the method
 void mouseExited(java.awt.event.MouseEvent e)
          TODO: document the method
 void mousePressed(java.awt.event.MouseEvent e)
          TODO: document the method
 void mouseReleased(java.awt.event.MouseEvent e)
          TODO: document the method
 void refresh()
          TODO: document the method
 void refreshSelection()
          TODO: document the method
 void setBoundModel(java.lang.Object inModel)
          Sets the bound model
 void setChangeSelectionControlID(java.lang.String inControlID)
          Set the Control ID for the Control that will be issued when the selection is changed.
 void setController(Controller inController)
          Don't assign a Controller to this component, instead delegate to the containing SwingView that has a parent Controller.
 void setDoubleClickControlID(java.lang.String inControlID)
          Set the Control ID for the Control that will be issued when the List is double-clicked.
 void setListModel(java.lang.Object inModel)
          Can use this to specify a static list model for the contents of the list rather than binding to a dynamic property of some view model.
 void setModel(javax.swing.ListModel model)
          Sets the model
 void setRendererIconSelector(Selector inSelector)
          Set the Selector for the list cell renderer to get an Icon: this is the property that will be shown as an Icon in a list cell.
 void setRendererIconSelectorString(java.lang.String inSelectorString)
          Set the Selector for the list cell renderer to get an Icon: this is the property that will be shown as an Icon in a list cell.
 void setRendererSelector(Selector inSelector)
          Set the Selector for the list cell renderer: this is the property that will be shown in a list cell (converted to a String).
 void setRendererSelectorString(java.lang.String inSelectorString)
          Set the Selector for the list cell renderer: this is the property that will be shown in a list cell (converted to a String).
 void setSelectionSelector(Selector inSelector)
          Set the Selector for the list selection: this property will be bound to the list's single selection.
 void setSelectionSelectorString(java.lang.String inSelectorString)
          Set the Selector for the list selection: this property will be bound to the list's single selection.
 void setSelector(Selector inSelector)
          Set the Selector for the list data.
 void setSelectorString(java.lang.String inSelectorString)
          Set the Selector for the list data.
 void setSizeSelector(Selector inSelector)
          Can specify that the list's size comes from a bound property.
 void setSizeSelectorString(java.lang.String inSelectorString)
          Can specify that the list's size comes from a bound property.
 void validationFailed(java.lang.Exception inException)
          TODO: document the method
 void validationSuccess()
          TODO: document the method
 
Methods inherited from class javax.swing.JList
addListSelectionListener, addSelectionInterval, clearSelection, ensureIndexIsVisible, fireSelectionValueChanged, getAccessibleContext, getAnchorSelectionIndex, getCellBounds, getCellRenderer, getDragEnabled, getFirstVisibleIndex, getFixedCellHeight, getFixedCellWidth, getLastVisibleIndex, getLayoutOrientation, getLeadSelectionIndex, getListSelectionListeners, getMaxSelectionIndex, getMinSelectionIndex, getModel, getNextMatch, getPreferredScrollableViewportSize, getPrototypeCellValue, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedIndex, getSelectedIndices, getSelectedValue, getSelectedValues, getSelectionBackground, getSelectionForeground, getSelectionMode, getSelectionModel, getToolTipText, getUI, getUIClassID, getValueIsAdjusting, getVisibleRowCount, indexToLocation, isSelectedIndex, isSelectionEmpty, locationToIndex, paramString, removeListSelectionListener, removeSelectionInterval, setCellRenderer, setDragEnabled, setFixedCellHeight, setFixedCellWidth, setLayoutOrientation, setListData, setListData, setPrototypeCellValue, setSelectedIndex, setSelectedIndices, setSelectedValue, setSelectionBackground, setSelectionForeground, setSelectionInterval, setSelectionMode, setSelectionModel, setUI, setValueIsAdjusting, setVisibleRowCount, updateUI
 
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, 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, 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, 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, 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
 
Methods inherited from interface org.scopemvc.view.swing.ListSelectionParent
setEnabled
 

Constructor Detail

SList

public SList()
Constructor for the SList object

Method Detail

getBoundModel

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

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

getSizeSelector

public final Selector getSizeSelector()
Gets the size selector

Returns:
The sizeSelector value

getSelector

public final Selector getSelector()
Gets the selector

Returns:
The selector value

getSelectionSelector

public final Selector getSelectionSelector()
Gets the selection selector

Returns:
The selectionSelector value

getRendererSelector

public final Selector getRendererSelector()
Gets the renderer selector

Returns:
The rendererSelector value

getRendererIconSelector

public final Selector getRendererIconSelector()
Gets the renderer icon selector

Returns:
The rendererIconSelector value

getChangeSelectionControlID

public final java.lang.String getChangeSelectionControlID()
Gets the change selection control ID

Returns:
The changeSelectionControlID value

getDoubleClickControlID

public final java.lang.String getDoubleClickControlID()
Gets the double click control ID

Returns:
The doubleClickControlID value

issueChangeSelectionControl

public void issueChangeSelectionControl()
TODO: document the method

Specified by:
issueChangeSelectionControl in interface ListSelectionParent

getController

public Controller getController()
Don't assign a direct Controller to List, 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)
Don't assign a direct Controller to List, instead delegate to the containing SwingView that has a parent Controller.

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

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)
Set the Selector for the list data. Should be a java.util.List or an Object[] or have a "size" property and properties accessible by an IntIndexedSelector.

Parameters:
inSelector - The new selector value

setSelectorString

public final void setSelectorString(java.lang.String inSelectorString)
Set the Selector for the list data. Should be a java.util.List or an Object[] or have a "size" property and properties accessible by an IntIndexedSelector.

Parameters:
inSelectorString - The new selectorString value

setSelectionSelector

public final void setSelectionSelector(Selector inSelector)
Set the Selector for the list selection: this property will be bound to the list's single selection.

Parameters:
inSelector - The new selectionSelector value

setSelectionSelectorString

public final void setSelectionSelectorString(java.lang.String inSelectorString)
Set the Selector for the list selection: this property will be bound to the list's single selection.

Parameters:
inSelectorString - The new selectionSelectorString value

setRendererSelector

public final void setRendererSelector(Selector inSelector)
Set the Selector for the list cell renderer: this is the property that will be shown in a list cell (converted to a String).

Parameters:
inSelector - The new rendererSelector value

setRendererIconSelector

public final void setRendererIconSelector(Selector inSelector)
Set the Selector for the list cell renderer to get an Icon: this is the property that will be shown as an Icon in a list cell.

Parameters:
inSelector - The new rendererIconSelector value

setRendererSelectorString

public final void setRendererSelectorString(java.lang.String inSelectorString)
Set the Selector for the list cell renderer: this is the property that will be shown in a list cell (converted to a String).

Parameters:
inSelectorString - The new rendererSelectorString value

setRendererIconSelectorString

public final void setRendererIconSelectorString(java.lang.String inSelectorString)
Set the Selector for the list cell renderer to get an Icon: this is the property that will be shown as an Icon in a list cell.

Parameters:
inSelectorString - The new rendererIconSelectorString value

setChangeSelectionControlID

public final void setChangeSelectionControlID(java.lang.String inControlID)
Set the Control ID for the Control that will be issued when the selection is changed. If null no Control will be issued.

Parameters:
inControlID - The new changeSelectionControlID value

setDoubleClickControlID

public final void setDoubleClickControlID(java.lang.String inControlID)
Set the Control ID for the Control that will be issued when the List is double-clicked. If null no Control will be issued.

Parameters:
inControlID - The new doubleClickControlID value

setModel

public void setModel(javax.swing.ListModel model)
Sets the model

Overrides:
setModel in class javax.swing.JList
Parameters:
model - The new model value

setListModel

public void setListModel(java.lang.Object inModel)
Can use this to specify a static list model for the contents of the list rather than binding to a dynamic property of some view model.

Parameters:
inModel - The new listModel value
See Also:
ListModelAdaptor

setSizeSelector

public void setSizeSelector(Selector inSelector)
Can specify that the list's size comes from a bound property. This is very useful for JavaBeans indexed properties for which the size is not accessible in any other way.

Parameters:
inSelector - The new sizeSelector value

setSizeSelectorString

public void setSizeSelectorString(java.lang.String inSelectorString)
Can specify that the list's size comes from a bound property. This is very useful for JavaBeans indexed properties for which the size is not accessible in any other way.

Parameters:
inSelectorString - The new sizeSelectorString 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

findIndexFor

public int findIndexFor(java.lang.Object inValue)
-1 if not found.

Specified by:
findIndexFor in interface ListSelectionParent
Parameters:
inValue - TODO: Describe the Parameter
Returns:
TODO: Describe the Return Value

findElementAt

public java.lang.Object findElementAt(int inIndex)
Null if not found.

Specified by:
findElementAt in interface ListSelectionParent
Parameters:
inIndex - TODO: Describe the Parameter
Returns:
TODO: Describe the Return Value

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
TODO: document the method

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e - TODO: Describe the Parameter

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
TODO: document the method

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
e - TODO: Describe the Parameter

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
TODO: document the method

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
e - TODO: Describe the Parameter

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
TODO: document the method

Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
e - TODO: Describe the Parameter

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
TODO: document the method

Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
e - TODO: Describe the Parameter

refresh

public void refresh()
TODO: document the method

Specified by:
refresh in interface Refreshable

refreshSelection

public void refreshSelection()
TODO: document the method


validationFailed

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

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

validationSuccess

public void validationSuccess()
TODO: document the method

Specified by:
validationSuccess in interface ListSelectionParent

createToolTip

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

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

createSelectionModel

protected javax.swing.ListSelectionModel createSelectionModel()
TODO: document the method

Overrides:
createSelectionModel in class javax.swing.JList
Returns:
TODO: Describe the Return Value


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