org.openbp.swing.components.popupfield
Class JPopupField

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.openbp.swing.components.popupfield.JPopupField
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
JSelectionField

public abstract class JPopupField
extends javax.swing.JPanel

Text field component that displays a small arrow button to the right that is used to activate a popup menu/dialog. This component is used as base class for selection fields, file path widgets etc.

Author:
Heiko Erhardt
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JButton arrowButton
          Arrow button
protected  javax.swing.JLabel label
          Label
protected  javax.swing.JTextField textField
          Text field
 
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
JPopupField()
          Default constructor.
 
Method Summary
 void addActionListener(java.awt.event.ActionListener listener)
          Adds an action listener to the listener list.
 void addPopupListener(PopupListener listener)
          Adds a popup listener to the listener list.
protected  javax.swing.JButton createArrowButton()
          Creates the arrow button.
protected  javax.swing.JTextField createTextField()
          Creates the text field.
 void fireActionPerformed()
          Fires an 'action performed' message to all registered action listeners if an item has been selected from the popup menu or using keyboard selection.
 void firePopup(int cause)
          Fires a 'popup' message to all registered popup listeners if an item has been selected from the popup menu or using keyboard selection.
 java.lang.String getLabelText()
          Gets the label text of in the popup field.
 java.lang.String getText()
          Gets the text displayed in the popup field.
 javax.swing.JTextField getTextField()
          Gets the text field.
 void hidePopup()
          Hides the popup.
protected  void installAncestorListener()
          Installs an ancestor listener that hides the popup on any change.
 boolean isEditable()
          Gets the editable flag.
 boolean isEnabled()
          Gets the enabled state.
abstract  boolean isPopupVisible()
          Gets the popup visibility.
 void removeActionListener(java.awt.event.ActionListener listener)
          Removes an action listener from the listener list.
 void removePopupListener(PopupListener listener)
          Removes a popup listener from the listener list.
 void requestFocus()
          Requests the focus for this component.
 void resetHighlight()
           
protected  boolean selectWithKeyChar(char selectionChar)
          Selects a field value using a key character.
 void setEditable(boolean editable)
          Sets the editable flag.
 void setEnabled(boolean enabled)
          Sets the enabled state.
 void setHighlight()
           
 void setLabelText(java.lang.String labelText)
          Sets the label text of in the popup field.
abstract  void setPopupVisible(boolean popupVisible)
          Sets the popup visibility.
 void setText(java.lang.String text)
          Sets the text displayed in the popup field.
 void showPopup()
          Shows the popup.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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

label

protected javax.swing.JLabel label
Label


arrowButton

protected javax.swing.JButton arrowButton
Arrow button


textField

protected javax.swing.JTextField textField
Text field

Constructor Detail

JPopupField

public JPopupField()
Default constructor.

Method Detail

createTextField

protected javax.swing.JTextField createTextField()
Creates the text field.


createArrowButton

protected javax.swing.JButton createArrowButton()
Creates the arrow button.


installAncestorListener

protected void installAncestorListener()
Installs an ancestor listener that hides the popup on any change.


setHighlight

public void setHighlight()

resetHighlight

public void resetHighlight()

requestFocus

public void requestFocus()
Requests the focus for this component.

Overrides:
requestFocus in class javax.swing.JComponent

isEnabled

public boolean isEnabled()
Gets the enabled state.

Overrides:
isEnabled in class java.awt.Component

setEnabled

public void setEnabled(boolean enabled)
Sets the enabled state.

Overrides:
setEnabled in class javax.swing.JComponent

selectWithKeyChar

protected boolean selectWithKeyChar(char selectionChar)
Selects a field value using a key character. By default, this method does nothing and returns false.

Parameters:
selectionChar - Selection character
Returns:
true An item was selected.
false No item was found that begins with the specified character.

showPopup

public void showPopup()
Shows the popup.


hidePopup

public void hidePopup()
Hides the popup.


isPopupVisible

public abstract boolean isPopupVisible()
Gets the popup visibility.

Returns:
true The popup is shown.
false The popup is hidden.

setPopupVisible

public abstract void setPopupVisible(boolean popupVisible)
Sets the popup visibility.

Parameters:
popupVisible - true Shows the popup.
false Hides the popup.

getText

public java.lang.String getText()
Gets the text displayed in the popup field.

Returns:
The text or null if the field is empty

setText

public void setText(java.lang.String text)
Sets the text displayed in the popup field.


getTextField

public javax.swing.JTextField getTextField()
Gets the text field.


getLabelText

public java.lang.String getLabelText()
Gets the label text of in the popup field.


setLabelText

public void setLabelText(java.lang.String labelText)
Sets the label text of in the popup field.


isEditable

public boolean isEditable()
Gets the editable flag.


setEditable

public void setEditable(boolean editable)
Sets the editable flag.


fireActionPerformed

public void fireActionPerformed()
Fires an 'action performed' message to all registered action listeners if an item has been selected from the popup menu or using keyboard selection. The action command will be "selected" in this case.


addActionListener

public void addActionListener(java.awt.event.ActionListener listener)
Adds an action listener to the listener list. An ActionEvent will get fired in response to choosing an item from the popup.

Parameters:
listener - The listener to be added

removeActionListener

public void removeActionListener(java.awt.event.ActionListener listener)
Removes an action listener from the listener list.

Parameters:
listener - The listener to be removed

firePopup

public void firePopup(int cause)
Fires a 'popup' message to all registered popup listeners if an item has been selected from the popup menu or using keyboard selection.

Parameters:
cause - The cause for the popup event (see the PopupEvent class)

addPopupListener

public void addPopupListener(PopupListener listener)
Adds a popup listener to the listener list. An PopupEvent will get fired in response to choosing an item from the popup.

Parameters:
listener - The listener to be added

removePopupListener

public void removePopupListener(PopupListener listener)
Removes a popup listener from the listener list.

Parameters:
listener - The listener to be removed


Copyright © 2011. All Rights Reserved.