public class LabeledTextField
extends javax.swing.JPanel
LabeledTextField
is a combo component which includes text field and an optional JLabel in the front and
another optional AbstractButton at the end.Modifier and Type | Class and Description |
---|---|
static interface |
LabeledTextField.PopupMenuCustomizer
The PopupMenuCustomizer for the context menu when clicking on the label/icon before the text field.
|
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
protected javax.swing.AbstractButton |
_button |
protected javax.swing.KeyStroke |
_contextMenuKeyStroke |
protected LabeledTextField.PopupMenuCustomizer |
_customizer |
protected javax.swing.JLabel |
_hintLabel |
protected java.lang.String |
_hintText |
protected javax.swing.Icon |
_icon |
protected javax.swing.JLabel |
_label |
protected java.lang.String |
_labelText |
protected javax.swing.JTextField |
_textField |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
LabeledTextField() |
LabeledTextField(javax.swing.Icon icon) |
LabeledTextField(javax.swing.Icon icon,
java.lang.String labelText) |
Modifier and Type | Method and Description |
---|---|
protected javax.swing.AbstractButton |
createButton()
Creates the button that appears after the text field.
|
protected JidePopupMenu |
createContextMenu()
Creates a context menu.
|
protected javax.swing.JLabel |
createLabel()
Creates the label that appears before the text field.
|
protected javax.swing.JTextField |
createTextField()
Creates a text field.
|
int |
getBaseline(int width,
int height) |
javax.swing.AbstractButton |
getButton()
Gets the AbstractButton that appears after text field.
|
javax.swing.KeyStroke |
getContextMenuKeyStroke()
Gets the keystroke that will bring up the context menu.
|
java.lang.String |
getHintText()
Gets the hint text when the field is empty and not focused.
|
javax.swing.Icon |
getIcon()
Gets the icon that appears before the text field.
|
javax.swing.JLabel |
getLabel()
Gets the JLabel that appears before text field.
|
java.lang.String |
getLabelText()
Gets the text that appears before the text field.
|
LabeledTextField.PopupMenuCustomizer |
getPopupMenuCustomizer()
Gets the PopupMenuCustomizer.
|
java.lang.String |
getText()
Gets the text in this TextField.
|
javax.swing.JTextField |
getTextField()
Gets the actual text field.
|
protected void |
initComponent() |
protected void |
initLayout(javax.swing.JLabel label,
javax.swing.JTextField field,
javax.swing.AbstractButton button)
Setup the layout of the components.
|
void |
setColumns(int columns)
Sets the number of columns in this TextField, and then invalidate the layout.
|
void |
setContextMenuKeyStroke(javax.swing.KeyStroke contextMenuKeyStroke)
Changes the keystroke that brings up the context menu which is normally shown when user clicks on the label icon
before the text field.
|
void |
setEnabled(boolean enabled) |
void |
setHintText(java.lang.String hintText)
Sets the hint text.
|
void |
setIcon(javax.swing.Icon icon)
Sets the icon that appears before the text field.
|
void |
setLabelText(java.lang.String text)
Sets the text that appears before the text field.
|
void |
setPopupMenuCustomizer(LabeledTextField.PopupMenuCustomizer customizer)
Sets the PopupMenuCustomizer.
|
void |
setText(java.lang.String text)
Sets the text in this TextField.
|
protected void |
showContextMenu()
Shows the context menu.
|
void |
updateUI() |
getAccessibleContext, getUI, getUIClassID, paramString, setUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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
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, transferFocusDownCycle, validate, validateTree
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, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, 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, transferFocusBackward, transferFocusUpCycle
protected javax.swing.JTextField _textField
protected javax.swing.JLabel _label
protected javax.swing.AbstractButton _button
protected java.lang.String _labelText
protected javax.swing.Icon _icon
protected java.lang.String _hintText
protected javax.swing.JLabel _hintLabel
protected LabeledTextField.PopupMenuCustomizer _customizer
protected javax.swing.KeyStroke _contextMenuKeyStroke
public LabeledTextField()
public LabeledTextField(javax.swing.Icon icon)
public LabeledTextField(javax.swing.Icon icon, java.lang.String labelText)
protected void initComponent()
protected void showContextMenu()
protected void initLayout(javax.swing.JLabel label, javax.swing.JTextField field, javax.swing.AbstractButton button)
label
- the labelfield
- the text field.button
- the buttonprotected javax.swing.JTextField createTextField()
protected JidePopupMenu createContextMenu()
public void updateUI()
updateUI
in class javax.swing.JPanel
protected javax.swing.AbstractButton createButton()
protected javax.swing.JLabel createLabel()
public void setLabelText(java.lang.String text)
text
- the text that appears before the text field.public java.lang.String getLabelText()
public void setIcon(javax.swing.Icon icon)
icon
- the icon that appears before the text field.public javax.swing.Icon getIcon()
public javax.swing.JLabel getLabel()
public javax.swing.AbstractButton getButton()
public void setColumns(int columns)
columns
- the number of columns for this text field.public void setText(java.lang.String text)
text
- the new text in this TextField.public java.lang.String getText()
public javax.swing.JTextField getTextField()
public void setEnabled(boolean enabled)
setEnabled
in class javax.swing.JComponent
public int getBaseline(int width, int height)
getBaseline
in class javax.swing.JComponent
public java.lang.String getHintText()
public void setHintText(java.lang.String hintText)
hintText
- the new hint text.public LabeledTextField.PopupMenuCustomizer getPopupMenuCustomizer()
public void setPopupMenuCustomizer(LabeledTextField.PopupMenuCustomizer customizer)
LabeledTextField
.
PopupMenuCustomizer has a customize method. The popup menu of this menu will be passed in. You can
add/remove/change the menu items in customize method. For example,
field.setPopupMenuCustomzier(new LabeledTextField.PopupMenuCustomizer() {
void customize(LabledTextField field, JPopupMenu menu) {
menu.removeAll();
menu.add(new JMenuItem("..."));
menu.add(new JMenuItem("..."));
}
}
If the menu is never used, the two add methods will never be called thus improve the performance.customizer
- the PopupMenuCustomizerpublic javax.swing.KeyStroke getContextMenuKeyStroke()
public void setContextMenuKeyStroke(javax.swing.KeyStroke contextMenuKeyStroke)
contextMenuKeyStroke
- the new keystroke to bring up the context menu.