UC Berkeley Group for User Interface Research
Updated November 17, 2000

edu.berkeley.guir.lib.gesture.util
Class SelectablePanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--edu.berkeley.guir.lib.gesture.util.SelectablePanel
All Implemented Interfaces:
Accessible, EventListener, ImageObserver, ListSelectionListener, MenuContainer, Serializable

public class SelectablePanel
extends JPanel
implements ListSelectionListener

This class allows its children to be selected. By default, it uses the javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION mode. WARNING: This widget sets the preferred size of its containees. This may prevent them from resizing properly if their contents change size. To fix this, setPreferredSize(null) on containees before calling revalidate().

See Also:
Serialized Form

Inner Class Summary
protected  class SelectablePanel.SelectMouseListener
           
 class SelectablePanel.SingletonContainer
           
 
Inner classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
Component.AccessibleAWTComponent
 
Field Summary
static int DEFAULT_BORDER_WIDTH
           
static Border DEFAULT_SELECTED_BORDER
           
static Border DEFAULT_UNSELECTED_BORDER
           
protected  boolean isSelectable
           
protected  PropertyChangeSupport propChangeSupport
           
static String SELECTABLE_PROP
           
protected  Border selectedBorder
           
protected  ListSelectionModel selectionModel
           
protected  MouseListener selectMouseListener
           
protected  Border unselectedBorder
           
 
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
SelectablePanel()
           
 
Method Summary
protected  void addImpl(Component comp, Object constraints, int index)
           
 Component getContainee(int index)
           
protected  int getContaineeIndex(Component containee)
           
protected  MouseListener getMouseListener()
           
 Border getSelectedBorder()
           
 List getSelectedObjects()
          returns the selected widgets (as passed to SelectablePanel in add(Component))
 ListSelectionModel getSelectionModel()
           
 Border getUnselectedBorder()
           
 boolean isSelectable()
           
 void remove(Component comp)
           
 void remove(int index)
           
 void removeAll()
           
 void selectToChild(Component child)
           
 void setSelectable(boolean on)
           
 void setSelectedBorder(Border b)
           
 void setSelection(Component child)
           
 void setSelectionModel(ListSelectionModel model)
           
 void setUnselectedBorder(Border b)
           
 void toggleSelection(Component child)
           
 void valueChanged(ListSelectionEvent e)
          to implement ListSelectionListener
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, 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, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SELECTABLE_PROP

public static String SELECTABLE_PROP

selectionModel

protected ListSelectionModel selectionModel

propChangeSupport

protected PropertyChangeSupport propChangeSupport

DEFAULT_BORDER_WIDTH

public static final int DEFAULT_BORDER_WIDTH

DEFAULT_SELECTED_BORDER

public static final Border DEFAULT_SELECTED_BORDER

DEFAULT_UNSELECTED_BORDER

public static final Border DEFAULT_UNSELECTED_BORDER

selectedBorder

protected Border selectedBorder

unselectedBorder

protected Border unselectedBorder

selectMouseListener

protected MouseListener selectMouseListener

isSelectable

protected boolean isSelectable
Constructor Detail

SelectablePanel

public SelectablePanel()
Method Detail

setSelectable

public void setSelectable(boolean on)

isSelectable

public boolean isSelectable()

getSelectionModel

public ListSelectionModel getSelectionModel()

setSelectionModel

public void setSelectionModel(ListSelectionModel model)

getSelectedObjects

public List getSelectedObjects()
returns the selected widgets (as passed to SelectablePanel in add(Component))

setSelectedBorder

public void setSelectedBorder(Border b)

getSelectedBorder

public Border getSelectedBorder()

setUnselectedBorder

public void setUnselectedBorder(Border b)

getUnselectedBorder

public Border getUnselectedBorder()

selectToChild

public void selectToChild(Component child)

toggleSelection

public void toggleSelection(Component child)

setSelection

public void setSelection(Component child)

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
Overrides:
addImpl in class Container

getContainee

public Component getContainee(int index)

getContaineeIndex

protected int getContaineeIndex(Component containee)

remove

public void remove(Component comp)
Overrides:
remove in class Container

remove

public void remove(int index)
Overrides:
remove in class Container

removeAll

public void removeAll()
Overrides:
removeAll in class Container

valueChanged

public void valueChanged(ListSelectionEvent e)
to implement ListSelectionListener
Specified by:
valueChanged in interface ListSelectionListener

getMouseListener

protected MouseListener getMouseListener()

Copyright Information