ca.bc.webarts.widgets
Class JCheckDropDown

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.AbstractButton
                          |
                          +--javax.swing.JButton
                                |
                                +--ca.bc.webarts.widgets.PopUpButton
                                      |
                                      +--ca.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

Inner Class Summary
(package private)  class JCheckDropDown.CheckBoxRenderer
          Description of the Class
(package private)  class JCheckDropDown.ListCheckBoxMouseListsener
          Description of the Class
(package private)  class JCheckDropDown.ListListener
          Description of the Class
 
Inner classes inherited from class ca.bc.webarts.widgets.PopUpButton
PopUpButton.ListMouseListener
 
Inner classes inherited from class javax.swing.JButton
javax.swing.JButton.AccessibleJButton
 
Inner classes inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.ActionStandin, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
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
defaultCapable, uiClassID
 
Fields inherited from class javax.swing.AbstractButton
accessibleIcon, action, actionListener, actionPropertyChangeListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, contentAreaFilled, defaultIcon, defaultMargin, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, disabledIcon, disabledSelectedIcon, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, horizontalAlignment, horizontalTextPosition, ICON_CHANGED_PROPERTY, itemListener, margin, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, paintBorder, paintFocus, PRESSED_ICON_CHANGED_PROPERTY, pressedIcon, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, rolloverEnabled, rolloverIcon, rolloverSelectedIcon, SELECTED_ICON_CHANGED_PROPERTY, selectedIcon, text, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY, verticalAlignment, verticalTextPosition
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, actionMap, ACTIONMAP_CREATED, alignmentX, alignmentY, ANCESTOR_INPUTMAP_CREATED, ANCESTOR_USING_BUFFER, ancestorInputMap, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, CREATED_DOUBLE_BUFFER, flags, FOCUS_INPUTMAP_CREATED, focusInputMap, HAS_FOCUS, htmlKey, htmlView, inputVerifier, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEY_EVENTS_ENABLED, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, verifyInputWhenFocusTarget, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, WHEN_IN_FOCUSED_WINDOW_BINDINGS, WIF_INPUTMAP_CREATED, windowInputMap
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, needsPaint, printing, printingThreads, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, 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 JCheckBoxIndex attribute of the JCheckDropDown object
 int getNextCheckedItemNum()
          Gets the NextCheckedItemNum attribute of the JCheckDropDown object
 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.
 
Methods inherited from class ca.bc.webarts.widgets.PopUpButton
getItemCount, getLog, getSelectedIndex, getSelectedItem, showPopUp, togglePopUp
 
Methods inherited from class javax.swing.JButton
configurePropertiesFromAction, getAccessibleContext, getUIClassID, isDefaultButton, isDefaultCapable, paramString, removeNotify, setDefaultCapable, updateUI, writeObject
 
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getDisabledIcon, getDisabledSelectedIcon, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getLabel, getMargin, getMnemonic, getModel, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isFocusTraversable, isListener, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setEnabled, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setLabel, setMargin, setMnemonic, setMnemonic, setModel, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, , addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, checkIfChildObscuredBySibling, clearFocusOwners, componentInputMapChanged, computeVisibleRect, computeVisibleRect, compWriteObjectNotify, contains, createToolTip, disable, enable, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getCreatedDoubleBuffer, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInputMap, 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, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, registerWithKeyboardManager, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setCreatedDoubleBuffer, setDebugGraphicsOptions, setDoubleBuffered, setFlag, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isRecursivelyVisible, 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, resetGC, 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, registerNatives, 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
checkit - or not checkit
Returns:
The ItemChecked value

checkAllItems

public void checkAllItems(boolean checkIt)
Checks ALL the checkboxes with the specified value.
Parameters:
checkit - or not checkit
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

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

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 JCheckBoxIndex attribute of the JCheckDropDown object
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

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