org.freehep.application
Class RecentItemTextField
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--javax.swing.JComponent
|
+--javax.swing.JComboBox
|
+--org.freehep.application.RecentItemTextField
- All Implemented Interfaces:
- Accessible, ActionListener, EventListener, ImageObserver, ItemSelectable, KeyListener, ListDataListener, MenuContainer, Serializable
- public final class RecentItemTextField
- extends JComboBox
- implements KeyListener
This class is ideal if you want to have a text field for user input but
also have a list of recently selected items available to choose from.
Some notes on using this class:
- The default button will be clicked on the root pane of this
component if the value of the constructor parameter
clickDefault
is true
. This behaviour may be desirable because
the default button is normally "clicked" when the user clicks on
the "Enter" key, but this behaviour doesn't normally happen unless
you add an ActionListener to the text field.
- Calling
addActionListener(ActionListener)
on this
object causes the ActionListener to be added to the text field.
- A KeyEvent is generated for every time a key is pressed in the
field, and all listeners are notified. KeyEvents normally generated
by the JComboBox will not be sent by this class; they are suppressed.
- A ChangeEvent is generated any time the text in the field changes.
Therefore, if you want to update a button state (for example) each time the
text changes, simply implement a ChangeListener and add it to the
listener list for this object. Otherwise, you would have to add a
KeyListener and an ItemListener, and it's better just to have one.
It is important to point this out because the KeyEvents, ActionEvents,
and ChangeEvents described above are not how a normal combo
box will generate them.
Basically, a ChangeEvent is a dual purpose event. One is sent to listeners
both when a KeyEvent is generated from the text field, and one is sent when
an ItemEvent is generated (which happens when an item is selected from the
drop-down list). This means that somebody who wants to know when the actual
text showing has changed only needs to implement ChangeListener instead of
both ItemListener and KeyListener.
- Version:
- $Id: RecentItemTextField.java,v 1.3 2001/03/01 21:30:39 tonyj Exp $
- Author:
- Jonas Gifford
- See Also:
- Serialized Form
Constructor Summary |
RecentItemTextField(String[] dropDownItems,
boolean clickDefault)
Creates a RecentItemTextField with the given list of drop-down items. |
RecentItemTextField(String key,
int nItems,
boolean clickDefault)
Creates a RecentItemTextField with a dropDown list that will be stored in
the user properties object for the Application. |
RecentItemTextField(String key,
String lengthKey,
boolean clickDefault)
Creates a RecentItemTextField with a dropDown list that will be stored in
the user properties object for the Application. |
Method Summary |
void |
addActionListener(ActionListener l)
Adds an the given ActionListener to the text field. |
void |
addChangeListener(ChangeListener l)
Change listeners will be notified any time the text visible in the text field changes. |
void |
addKeyListener(KeyListener kl)
Adds a key listener to the text field, not to the JComboBox. |
protected void |
fireItemStateChanged(ItemEvent event)
This method is protected as an implementation side effect. |
Dimension |
getMaximumSize()
Encorporates the maximum width if it has been set. |
Dimension |
getMinimumSize()
Encorporates the minimum width if it has been set. |
Dimension |
getPreferredSize()
Encorporates the minimum and maximum widths if they have been set. |
String |
getText()
Returns the text currently showing in the text field. |
void |
keyPressed(KeyEvent e)
This method is public as an implementation side effect; do not call. |
void |
keyReleased(KeyEvent e)
This method is public as an implementation side effect; do not call. |
void |
keyTyped(KeyEvent e)
This method is public as an implementation side effect; do not call. |
void |
requestFocus()
Requests focus for the text field of the box. |
void |
saveState()
If a key was supplied to the constructor, the drop-down list will be updated to
include the currently selected item. |
void |
setMaxWidth(int maxWidth)
Set the maximum width of the box. |
void |
setMinWidth(int minWidth)
Set the minimum width of the box. |
void |
setText(String s)
Sets the text showing in the text field. |
static String |
showInputDialog(Component owner,
Object message,
String key)
Show an input dialog, with a record of recent entries. |
static String |
showInputDialog(Component owner,
Object message,
String title,
int messageType,
String key)
Show an input dialog, with a record of recent entries. |
Methods inherited from class javax.swing.JComboBox |
actionPerformed, addItem, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedItem, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setEnabled, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, setUI, showPopup, 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, getNextFocusableComponent, 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, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, 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, 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 |
RecentItemTextField
public RecentItemTextField(String[] dropDownItems,
boolean clickDefault)
- Creates a RecentItemTextField with the given list of drop-down items. You are
responsible for keeping and providing an updated list.
- Parameters:
dropDownItems
- the items to show in the drop-down list (can safely be null
)clickDefault
- whether the default button should be clicked when Enter is pressed- See Also:
JRootPane.defaultButton
RecentItemTextField
public RecentItemTextField(String key,
int nItems,
boolean clickDefault)
- Creates a RecentItemTextField with a dropDown list that will be stored in
the user properties object for the Application. Invoke the
saveState()
method to have the list be updated to include the selected item.
- Parameters:
key
- the key that the drop-down items will be stored bynItems
- the maximum number of items that will be stored on the drop-down listclickDefault
- whether the default button should be clicked when Enter is pressed- See Also:
Application.getUserProperties()
,
JRootPane.defaultButton
RecentItemTextField
public RecentItemTextField(String key,
String lengthKey,
boolean clickDefault)
- Creates a RecentItemTextField with a dropDown list that will be stored in
the user properties object for the Application. Invoke the
saveState()
method to have the list be updated to include the selected item.
- Parameters:
key
- the key that the drop-down items will be stored bylengthKey
- the key that maps to the maximum number of items that will be stored on the drop-down listclickDefault
- whether the default button should be clicked when Enter is pressed- See Also:
Application.getUserProperties()
,
JRootPane.defaultButton
saveState
public void saveState()
- If a key was supplied to the constructor, the drop-down list will be updated to
include the currently selected item.
getText
public String getText()
- Returns the text currently showing in the text field.
setText
public void setText(String s)
- Sets the text showing in the text field.
addKeyListener
public void addKeyListener(KeyListener kl)
- Adds a key listener to the text field, not to the JComboBox.
- Overrides:
addKeyListener
in class Component
keyReleased
public final void keyReleased(KeyEvent e)
- This method is public as an implementation side effect; do not call.
- Specified by:
keyReleased
in interface KeyListener
keyPressed
public final void keyPressed(KeyEvent e)
- This method is public as an implementation side effect; do not call.
- Specified by:
keyPressed
in interface KeyListener
addChangeListener
public void addChangeListener(ChangeListener l)
- Change listeners will be notified any time the text visible in the text field changes.
This is equivalent to having a KeyListener and an ItemListener.
- Parameters:
l
- the ChangeListener to add
addActionListener
public void addActionListener(ActionListener l)
- Adds an the given ActionListener to the text field.
- Overrides:
addActionListener
in class JComboBox
fireItemStateChanged
protected final void fireItemStateChanged(ItemEvent event)
- This method is protected as an implementation side effect.
- Overrides:
fireItemStateChanged
in class JComboBox
requestFocus
public final void requestFocus()
- Requests focus for the text field of the box.
- Overrides:
requestFocus
in class JComponent
keyTyped
public final void keyTyped(KeyEvent e)
- This method is public as an implementation side effect; do not call.
- Specified by:
keyTyped
in interface KeyListener
setMaxWidth
public final void setMaxWidth(int maxWidth)
- Set the maximum width of the box. The default is used if this method is not called.
- Parameters:
maxWidth
- give a number in pixels, or -1
to use default
setMinWidth
public final void setMinWidth(int minWidth)
- Set the minimum width of the box. The default is used if this method is not called.
- Parameters:
minWidth
- give a number in pixels, or -1
to use default
getMaximumSize
public final Dimension getMaximumSize()
- Encorporates the maximum width if it has been set.
- Overrides:
getMaximumSize
in class JComponent
- See Also:
setMaxWidth(int)
getMinimumSize
public final Dimension getMinimumSize()
- Encorporates the minimum width if it has been set.
- Overrides:
getMinimumSize
in class JComponent
- See Also:
setMinWidth(int)
getPreferredSize
public final Dimension getPreferredSize()
- Encorporates the minimum and maximum widths if they have been set.
- Overrides:
getPreferredSize
in class JComponent
- See Also:
setMinWidth(int)
,
setMaxWidth(int)
showInputDialog
public static String showInputDialog(Component owner,
Object message,
String key)
- Show an input dialog, with a record of recent entries.
- Parameters:
owner
- The dialog ownermessage
- The message to displaykey
- The key under which the recent items are stored in the user properties- See Also:
JOptionPane.showInputDialog(Component,Object)
showInputDialog
public static String showInputDialog(Component owner,
Object message,
String title,
int messageType,
String key)
- Show an input dialog, with a record of recent entries.
- Parameters:
owner
- The dialog ownermessage
- The message to displaytitle
- The dialog titlekey
- The key under which the recent items are stored in the user properties- See Also:
JOptionPane.showInputDialog(Component,Object,String,int)
Copyright © 2000-2002 FreeHEP, All Rights Reserved.