QJCC homepage

biz.chitec.quarterback.swing
Class UnwantWantSelector

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bybiz.chitec.quarterback.swing.UnwantWantSelector
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class UnwantWantSelector
extends javax.swing.JPanel

Selector for wanted and unwanted selections. Works with three lists representing the selections which are unwanted, indifferent, and required. The user can change selections by pressing buttons moving the elements among the lists. The underlying model is changed appropriately.

The implementation of this class features its own LayoutManager to ensure that the three lists are of equal width each. This cannot be done with any of the predefined layout managers, at least I have not been able to do so. After nine years of programming Java, this is my first own LayoutManager. Wow!

Version:
$Id: 54067c4bc7caa394a09f8577efcaa6419b734b70 $
Author:
chitec/Dirk Hillbrecht 2001-2003, cantamen/Dirk Hillbrecht 2004. Distributed under the terms of the GNU LGPL.
See Also:
Serialized Form

Nested Class Summary
private  class UnwantWantSelector.ButtonEnabler
          The Listener for the lists enabling and disabling the move buttons.
private  class UnwantWantSelector.CopyAction
          The ActionListener for all the move buttons
private  class UnwantWantSelector.MyButton
          The move buttons, unfocusable and with a shrunken margin
private  class UnwantWantSelector.MyLayoutManager
          The layout manager special for this class.
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
private  java.awt.event.ActionListener[] als
           
static java.awt.GridBagConstraints bt1C
           
static java.awt.GridBagConstraints bt2C
           
private  javax.swing.JButton d2u
           
private  javax.swing.JButton d2w
           
private  javax.swing.JList dontcare
           
private  java.util.ResourceBundle rb
           
private  javax.swing.JButton u2d
           
private  javax.swing.JButton u2w
           
private  javax.swing.JList unwant
           
private  javax.swing.JToggleButton unwantand
           
private  javax.swing.JPanel unwantandorpanel
           
private  javax.swing.JToggleButton unwantor
           
private  UnwantWantModel uwm
           
private  javax.swing.JButton w2d
           
private  javax.swing.JButton w2u
           
private  javax.swing.JList want
           
private  javax.swing.JToggleButton wantand
           
private  javax.swing.JPanel wantandorpanel
           
private  javax.swing.JToggleButton wantor
           
 
Fields inherited from class javax.swing.JPanel
 
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.Container
 
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
UnwantWantSelector()
          Parameterless constructor: No model, no focus indicators.
UnwantWantSelector(boolean indicatedlists)
          Basic constructor.
UnwantWantSelector(UnwantWantModel uwmx)
          Constructor with model, without focus indicators.
UnwantWantSelector(UnwantWantModel uwmx, boolean indicatedlists)
          Constructor with model and focus indicators.
 
Method Summary
private  void checkButtons()
           
 void setModel(UnwantWantModel uwmx)
          Sets the models.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, 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, 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, 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
 

Field Detail

bt1C

public static final java.awt.GridBagConstraints bt1C

bt2C

public static final java.awt.GridBagConstraints bt2C

uwm

private UnwantWantModel uwm

unwant

private javax.swing.JList unwant

dontcare

private javax.swing.JList dontcare

want

private javax.swing.JList want

d2u

private javax.swing.JButton d2u

d2w

private javax.swing.JButton d2w

u2d

private javax.swing.JButton u2d

w2d

private javax.swing.JButton w2d

u2w

private javax.swing.JButton u2w

w2u

private javax.swing.JButton w2u

unwantand

private javax.swing.JToggleButton unwantand

unwantor

private javax.swing.JToggleButton unwantor

wantand

private javax.swing.JToggleButton wantand

wantor

private javax.swing.JToggleButton wantor

unwantandorpanel

private javax.swing.JPanel unwantandorpanel

wantandorpanel

private javax.swing.JPanel wantandorpanel

als

private java.awt.event.ActionListener[] als

rb

private java.util.ResourceBundle rb
Constructor Detail

UnwantWantSelector

public UnwantWantSelector()
Parameterless constructor: No model, no focus indicators.


UnwantWantSelector

public UnwantWantSelector(UnwantWantModel uwmx)
Constructor with model, without focus indicators.


UnwantWantSelector

public UnwantWantSelector(UnwantWantModel uwmx,
                          boolean indicatedlists)
Constructor with model and focus indicators.


UnwantWantSelector

public UnwantWantSelector(boolean indicatedlists)
Basic constructor.

Method Detail

checkButtons

private void checkButtons()

setModel

public void setModel(UnwantWantModel uwmx)
Sets the models.


QJCC homepage