ca.bc.webarts.widgets
Class PopUpButton

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.AbstractButton
                          |
                          +--javax.swing.JButton
                                |
                                +--ca.bc.webarts.widgets.PopUpButton
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants
Direct Known Subclasses:
JCheckDropDown

public class PopUpButton
extends javax.swing.JButton

A custom Drop Down box that 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 PopUpButton.ListMouseListener
          A private mouse listener for the popup list.NOTHING really implemented yet (other than som terminal output debugging).
 
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
protected static javax.swing.JFrame appFrame_
          a test JFrame.
private static java.lang.String className_
          A Class holder for its name (used in Logging).
protected  javax.swing.DefaultListModel listModel_
          The list model used by this class.
protected static Log log_
          The Log that will get used.
protected static java.lang.String logFile_
          The Log Filename.
protected  java.awt.event.ActionListener PopUpButtonActionListener_
          The Action Listener for this class.
protected  java.beans.PropertyChangeListener PopUpButtonPropListener_
          The Property Listener for this class.
protected  boolean popUpIsShowing_
          Flags if the popup list is showing.
(package private)  javax.swing.JList popUpList_
          The List of items that goes in the PopUp.
protected  javax.swing.JPanel popUpPanel_
          The JPanel that the popUpScroller_ will live in.
protected  java.awt.Point popUpPosition_
          The position on the screen to place the popup.
protected  javax.swing.JScrollPane popUpScroller_
          The JScrollPane that the PopUpList will live in.
protected  javax.swing.JWindow popUpWin_
          The JFrame that the popUpPanel_/PopUpList will live in.
protected static java.lang.String[] SAMPLE_LIST_DATA
          Sample Test Data to put in the JList.
 
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
protected PopUpButton()
          Basic Constructor that instantiates with an empty popup list using the basic renderer.
  PopUpButton(javax.swing.JList jl)
          Constructor that instantiates the popup list using the passed in JList and basic renderer.
  PopUpButton(java.lang.Object[] jl)
          Constructor that instantiates the popup list using the passed in Array and basic renderer.
  PopUpButton(java.util.Vector jlv)
          Constructor that instantiates the popup list using the passed in Vector and basic renderer.
 
Method Summary
 int getItemCount()
          Gets the ItemCount attribute of the PopUpButton object
(package private)  Log getLog()
          Gets the Log object that the PopUpButton is using.
 int getSelectedIndex()
          Gets the SelectedIndex attribute of the PopUpButton object
 java.lang.Object getSelectedItem()
          Gets the SelectedItem attribute of the PopUpButton object
static void main(java.lang.String[] args)
          The main program for the PopUpButton class
 void setSelectedIndex(int index)
          Sets the SelectedIndex attribute of the PopUpButton object.
(package private)  boolean showPopUp(boolean showIt)
          Shows or Removes the JList Popup depending on the passed parm.
protected  void togglePopUp()
          Toggles the popup to show or not show depending on if it is currently shown.
 
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

appFrame_

protected static javax.swing.JFrame appFrame_
a test JFrame.

logFile_

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

log_

protected static Log log_
The Log that will get used.

className_

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

SAMPLE_LIST_DATA

protected static final java.lang.String[] SAMPLE_LIST_DATA
Sample Test Data to put in the JList.

listModel_

protected javax.swing.DefaultListModel listModel_
The list model used by this class.

popUpWin_

protected javax.swing.JWindow popUpWin_
The JFrame that the popUpPanel_/PopUpList will live in.

popUpPanel_

protected javax.swing.JPanel popUpPanel_
The JPanel that the popUpScroller_ will live in.

popUpScroller_

protected javax.swing.JScrollPane popUpScroller_
The JScrollPane that the PopUpList will live in.

popUpIsShowing_

protected boolean popUpIsShowing_
Flags if the popup list is showing.

popUpPosition_

protected java.awt.Point popUpPosition_
The position on the screen to place the popup.

PopUpButtonPropListener_

protected java.beans.PropertyChangeListener PopUpButtonPropListener_
The Property Listener for this class.

PopUpButtonActionListener_

protected java.awt.event.ActionListener PopUpButtonActionListener_
The Action Listener for this class.

popUpList_

javax.swing.JList popUpList_
The List of items that goes in the PopUp.
Constructor Detail

PopUpButton

protected PopUpButton()
Basic Constructor that instantiates with an empty popup list using the basic renderer. Sets the text allignment to LEFT and adds a metal Icon.

PopUpButton

public PopUpButton(javax.swing.JList jl)
Constructor that instantiates the popup list using the passed in JList and basic renderer.
Parameters:
jl - The JList to iunstantiate with.

PopUpButton

public PopUpButton(java.lang.Object[] jl)
Constructor that instantiates the popup list using the passed in Array and basic renderer.
Parameters:
jl - An array of objects to instantiate the popup list with.

PopUpButton

public PopUpButton(java.util.Vector jlv)
Constructor that instantiates the popup list using the passed in Vector and basic renderer.
Parameters:
jlv - A Vector of objects to instantiate the popup list with.
Method Detail

main

public static void main(java.lang.String[] args)
The main program for the PopUpButton class
Parameters:
args - The command line arguments

setSelectedIndex

public void setSelectedIndex(int index)
Sets the SelectedIndex attribute of the PopUpButton object.
Parameters:
index - The new SelectedIndex value

getSelectedItem

public java.lang.Object getSelectedItem()
Gets the SelectedItem attribute of the PopUpButton object
Returns:
The SelectedItem value

getSelectedIndex

public int getSelectedIndex()
Gets the SelectedIndex attribute of the PopUpButton object
Returns:
The SelectedIndex value

getItemCount

public int getItemCount()
Gets the ItemCount attribute of the PopUpButton object
Returns:
The ItemCount value

getLog

Log getLog()
Gets the Log object that the PopUpButton is using.
Returns:
The Log .

togglePopUp

protected void togglePopUp()
Toggles the popup to show or not show depending on if it is currently shown.

showPopUp

boolean showPopUp(boolean showIt)
Shows or Removes the JList Popup depending on the passed parm.
Parameters:
showIt - flag to show or remove the popup.
Returns:
Description of the Returned Value