ca.bc.webarts.widgets
Class JCheckDropDown

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.AbstractButton
                  extended byjavax.swing.JButton
                      extended byca.bc.webarts.widgets.PopUpButton
                          extended byca.bc.webarts.widgets.JCheckDropDown
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants

public class JCheckDropDown
extends PopUpButton

A custom Drop Down box that holds JCheckBox items in its list. It also requires the user to select the button to open and close the popup list.

Author:
Tom Gutwin P.Eng
See Also:
Serialized Form

Nested Class Summary
(package private)  class JCheckDropDown.CheckBoxRenderer
          Description of the Class
(package private)  class JCheckDropDown.ListCheckBoxMouseListsener
          Listens for mouse clicks on the listbox.
(package private)  class JCheckDropDown.ListListener
          Description of the Class
 
Nested classes inherited from class ca.bc.webarts.widgets.PopUpButton
PopUpButton.ListMouseListener
 
Nested classes inherited from class javax.swing.JButton
javax.swing.JButton.AccessibleJButton
 
Nested classes inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
 
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.util.Vector checkedItems_
          A Cache of the Checked items.
private static java.lang.String className_
          A Class holder for its name (used in Logging).
protected static Log log_
          The Log that will get used.
private static java.lang.String logFile_
          The Log Filename.
private  int numItems_
          The number of items in the list.
private  int numItemsChecked_
          The number of items in the list That Are Checked..
 
Fields inherited from class ca.bc.webarts.widgets.PopUpButton
appFrame_, listModel_, PopUpButtonActionListener_, PopUpButtonPropListener_, popUpIsShowing_, popUpList_, popUpPanel_, popUpPosition_, popUpScroller_, popUpWin_, SAMPLE_LIST_DATA
 
Fields inherited from class javax.swing.JButton
 
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
 
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 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
JCheckDropDown(javax.swing.JCheckBox[] jl)
          Constructor that instantiates the popup list using the passed in Array and basic renderer.
JCheckDropDown(java.lang.String[] items)
          Constructor that instantiates the popup list using the passed in Array and basic renderer.
 
Method Summary
 void addItem(javax.swing.JCheckBox jc)
          Adds a feature to the Item attribute of the JCheckDropDown object
 void checkAllItems(boolean checkIt)
          Checks ALL the checkboxes with the specified value.
 void checkItem(int itemNum, boolean checkIt)
          Checks the checkbox for th especified item
 javax.swing.JCheckBox getItem(int itemNum)
          Gets the Item attribute of the JCheckDropDown object
 java.lang.String getItemName(int itemNum)
          Gets the ItemName attribute of the JCheckDropDown object
private  javax.swing.JCheckBox getItemNonLogged(int itemNum)
          Gets the Item attribute of the JCheckDropDown object without logging.
 int getJCheckBoxIndex(java.lang.String item)
          Gets the Index for the item that matches the name passedin.
 int getNextCheckedItemNum()
          Gets the NextCheckedItemNum attribute of the JCheckDropDown object
 int getNumItems()
          Returns the numItems_ field.
 int getNumItemsChecked()
          Returns the numItemsChecked_ field.
 int getRandomCheckedItemNum()
          Gets the RandomCheckedItemNum attribute of the JCheckDropDown object
 java.lang.String getSelectedItemName()
          Gets the SelectedItemName attribute of the JCheckDropDown object
 boolean isItemChecked(int itemNum)
          Gets the ItemChecked attribute of the JCheckDropDown object
static void main(java.lang.String[] args)
          The main test program for the JCheckDropDown class
private  int reGetNumItemsChecked()
          Iterates through the list checking to see how many of the contained JCheckBoxes are checked.
 void removeAllItems()
          Removes all Items from the DropDown List.
 void removeItem(java.lang.String item)
          Removes the named item from the list of items.
 void setSelectedIndex(int index)
          Sets the SelectedIndex attribute of the PopUpButton object.
private  void sortArray(java.text.Collator collator, javax.swing.JCheckBox[] checkedArray)
           
 void sortDefaultList(javax.swing.DefaultListModel dlm)
           
 
Methods inherited from class ca.bc.webarts.widgets.PopUpButton
getItemCount, getLog, getSelectedIndex, getSelectedItem, showPopUp, sortArray, togglePopUp
 
Methods inherited from class javax.swing.JButton
configurePropertiesFromAction, getAccessibleContext, getUIClassID, isDefaultButton, isDefaultCapable, paramString, removeNotify, setDefaultCapable, updateUI
 
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
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, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, 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
 

Field Detail

className_

private static java.lang.String className_
A Class holder for its name (used in Logging).


logFile_

private static java.lang.String logFile_
The Log Filename.


log_

protected static Log log_
The Log that will get used.


numItems_

private int numItems_
The number of items in the list.


numItemsChecked_

private int numItemsChecked_
The number of items in the list That Are Checked..


checkedItems_

private java.util.Vector checkedItems_
A Cache of the Checked items.

Constructor Detail

JCheckDropDown

public JCheckDropDown(javax.swing.JCheckBox[] jl)
Constructor that instantiates the popup list using the passed in Array and basic renderer.

Parameters:
jl - the array of JCheckboxes to add (make sure they are pre selected)

JCheckDropDown

public JCheckDropDown(java.lang.String[] items)
Constructor that instantiates the popup list using the passed in Array and basic renderer.

Parameters:
items - Description of Parameter
Method Detail

main

public static void main(java.lang.String[] args)
The main test program for the JCheckDropDown class

Parameters:
args - The command line arguments

isItemChecked

public boolean isItemChecked(int itemNum)
Gets the ItemChecked attribute of the JCheckDropDown object

Parameters:
itemNum - Description of Parameter
Returns:
The ItemChecked value

checkItem

public void checkItem(int itemNum,
                      boolean checkIt)
Checks the checkbox for th especified item

Parameters:
itemNum - Description of Parameter
Returns:
The ItemChecked value

checkAllItems

public void checkAllItems(boolean checkIt)
Checks ALL the checkboxes with the specified value.

Returns:
The ItemChecked value

getItem

public javax.swing.JCheckBox getItem(int itemNum)
Gets the Item attribute of the JCheckDropDown object

Parameters:
itemNum - Description of Parameter
Returns:
The Item value or null if non-existant item

getItemNonLogged

private javax.swing.JCheckBox getItemNonLogged(int itemNum)
Gets the Item attribute of the JCheckDropDown object without logging.

Parameters:
itemNum - Description of Parameter
Returns:
The Item value

getItemName

public java.lang.String getItemName(int itemNum)
Gets the ItemName attribute of the JCheckDropDown object

Parameters:
itemNum - Description of Parameter
Returns:
The ItemName value

getNumItemsChecked

public int getNumItemsChecked()
Returns the numItemsChecked_ field.

Returns:
The numItemsChecked_ value

getNumItems

public int getNumItems()
Returns the numItems_ field. The number of items in this object.

Returns:
The numItems_ value

reGetNumItemsChecked

private int reGetNumItemsChecked()
Iterates through the list checking to see how many of the contained JCheckBoxes are checked.

Returns:
The NumItemsChecked value

getRandomCheckedItemNum

public int getRandomCheckedItemNum()
Gets the RandomCheckedItemNum attribute of the JCheckDropDown object

Returns:
The RandomCheckedItemNum value

getNextCheckedItemNum

public int getNextCheckedItemNum()
Gets the NextCheckedItemNum attribute of the JCheckDropDown object

Returns:
The NextCheckedItemNum value

getSelectedItemName

public java.lang.String getSelectedItemName()
Gets the SelectedItemName attribute of the JCheckDropDown object

Returns:
The SelectedItemName value

getJCheckBoxIndex

public int getJCheckBoxIndex(java.lang.String item)
Gets the Index for the item that matches the name passedin.

Parameters:
item - Description of Parameter
Returns:
The JCheckBoxIndex value

setSelectedIndex

public void setSelectedIndex(int index)
Sets the SelectedIndex attribute of the PopUpButton object.

Overrides:
setSelectedIndex in class PopUpButton
Parameters:
index - The new SelectedIndex value

sortDefaultList

public void sortDefaultList(javax.swing.DefaultListModel dlm)
Overrides:
sortDefaultList in class PopUpButton

sortArray

private void sortArray(java.text.Collator collator,
                       javax.swing.JCheckBox[] checkedArray)

addItem

public void addItem(javax.swing.JCheckBox jc)
Adds a feature to the Item attribute of the JCheckDropDown object

Parameters:
jc - The feature to be added to the Item attribute

removeAllItems

public void removeAllItems()
Removes all Items from the DropDown List.


removeItem

public void removeItem(java.lang.String item)
Removes the named item from the list of items.

Parameters:
item - The name of the item to remove