- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable,SwingConstants
JPasswordField is a lightweight component that allows
the editing of a single line of text where the view indicates
something was typed, but does not show the original characters.
You can find further information and examples in
How to Use Text Fields,
a section in The Java Tutorial.
JPasswordField is intended
to be source-compatible with java.awt.TextField
used with echoChar set. It is provided separately
to make it easier to safely change the UI for the
JTextField without affecting password entries.
NOTE:
By default, JPasswordField disables input methods; otherwise, input
characters could be visible while they were composed using input methods.
If an application needs the input methods support, please use the
inherited method, enableInputMethods(true).
Warning: The JPasswordField will not show the
original characters that were typed, instead displaying alternative text or
graphics. However this doesn't prevent the password from appearing in the
system memory. For handling confidential information such as the password
text, refer to the relevant section at
Secure Coding Guidelines.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeans
has been added to the java.beans package.
Please see XMLEncoder.
- Since:
- 1.2
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classThis class implements accessibility support for theJPasswordFieldclass.Nested classes/interfaces declared in class javax.swing.JTextField
JTextField.AccessibleJTextFieldNested classes/interfaces declared in class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBindingNested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields declared in class javax.swing.JTextField
notifyActionFields declared in class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEYFields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields declared in interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a newJPasswordField, with a default document,nullstarting text string, and 0 column width.JPasswordField(int columns) Constructs a new emptyJPasswordFieldwith the specified number of columns.JPasswordField(String text) Constructs a newJPasswordFieldinitialized with the specified text.JPasswordField(String text, int columns) Constructs a newJPasswordFieldinitialized with the specified text and columns.JPasswordField(Document doc, String txt, int columns) Constructs a newJPasswordFieldthat uses the given text storage model and the given number of columns. -
Method Summary
Modifier and TypeMethodDescriptionvoidcopy()InvokesprovideErrorFeedbackon the current look and feel, which typically initiates an error beep.voidcut()InvokesprovideErrorFeedbackon the current look and feel, which typically initiates an error beep.booleanReturns true if thisJPasswordFieldhas a character set for echoing.Returns theAccessibleContextassociated with thisJPasswordField.charReturns the character to be used for echoing.char[]Returns the text contained in thisTextComponent.getText()Deprecated.getText(int offs, int len) Deprecated.As of Java 2 platform v1.2, replaced bygetPassword.Returns the name of the L&F class that renders this component.protected StringReturns a string representation of thisJPasswordField.voidsetEchoChar(char c) Sets the echo character for thisJPasswordField.voidSets the text of thisTextComponentto the specified text.voidupdateUI()Reloads the pluggable UI.Methods declared in class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, isValidateRoot, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffsetMethods declared in class javax.swing.text.JTextComponent
addCaretListener, addKeymap, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, viewToModel, viewToModel2D, writeMethods declared in class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, 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, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods declared in 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, transferFocusDownCycle, validate, validateTreeMethods declared in 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, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
JPasswordField
public JPasswordField()Constructs a newJPasswordField, with a default document,nullstarting text string, and 0 column width. -
JPasswordField
Constructs a newJPasswordFieldinitialized with the specified text. The document model is set to the default, and the number of columns to 0.- Parameters:
text- the text to be displayed,nullif none
-
JPasswordField
public JPasswordField(int columns) Constructs a new emptyJPasswordFieldwith the specified number of columns. A default model is created, and the initial string is set tonull.- Parameters:
columns- the number of columns >= 0
-
JPasswordField
Constructs a newJPasswordFieldinitialized with the specified text and columns. The document model is set to the default.- Parameters:
text- the text to be displayed,nullif nonecolumns- the number of columns >= 0
-
JPasswordField
Constructs a newJPasswordFieldthat uses the given text storage model and the given number of columns. This is the constructor through which the other constructors feed. The echo character is set to '*', but may be changed by the current Look and Feel. If the document model isnull, a default one will be created.- Parameters:
doc- the text storage to usetxt- the text to be displayed,nullif nonecolumns- the number of columns to use to calculate the preferred width >= 0; if columns is set to zero, the preferred width will be whatever naturally results from the component implementation
-
-
Method Details
-
getUIClassID
Returns the name of the L&F class that renders this component.- Overrides:
getUIClassIDin classJTextField- Returns:
- the string "PasswordFieldUI"
- See Also:
-
updateUI
public void updateUI()Reloads the pluggable UI. The key used to fetch the new interface isgetUIClassID(). The type of the UI isTextUI.invalidateis called after setting the UI.- Overrides:
updateUIin classJTextComponent- Since:
- 1.6
- See Also:
-
getEchoChar
public char getEchoChar()Returns the character to be used for echoing. The default is '*'. The default may be different depending on the currently running Look and Feel. For example, Metal/Ocean's default is a bullet character.- Returns:
- the echo character, 0 if unset
- See Also:
-
setEchoChar
@BeanProperty(bound=false, visualUpdate=true, description="character to display in place of the real characters") public void setEchoChar(char c) Sets the echo character for thisJPasswordField. Note that this is largely a suggestion, since the view that gets installed can use whatever graphic techniques it desires to represent the field. Setting a value of 0 indicates that you wish to see the text as it is typed, similar to the behavior of a standardJTextField.- Parameters:
c- the echo character to display- See Also:
-
echoCharIsSet
public boolean echoCharIsSet()Returns true if thisJPasswordFieldhas a character set for echoing. A character is considered to be set if the echo character is not 0.- Returns:
- true if a character is set for echoing
- See Also:
-
cut
public void cut()InvokesprovideErrorFeedbackon the current look and feel, which typically initiates an error beep. The normal behavior of transferring the currently selected range in the associated text model to the system clipboard, and removing the contents from the model, is not acceptable for a password field.- Overrides:
cutin classJTextComponent- See Also:
-
copy
public void copy()InvokesprovideErrorFeedbackon the current look and feel, which typically initiates an error beep. The normal behavior of transferring the currently selected range in the associated text model to the system clipboard, and leaving the contents from the model, is not acceptable for a password field.- Overrides:
copyin classJTextComponent- See Also:
-
getText
Deprecated.As of Java 2 platform v1.2, replaced bygetPassword.Returns the text contained in thisTextComponent. If the underlying document isnull, will give aNullPointerException.For security reasons, this method is deprecated. Use the
* getPasswordmethod instead.- Overrides:
getTextin classJTextComponent- Returns:
- the text
- See Also:
-
getText
Deprecated.As of Java 2 platform v1.2, replaced bygetPassword.Fetches a portion of the text represented by the component. Returns an empty string if length is 0.For security reasons, this method is deprecated. Use the
getPasswordmethod instead.- Overrides:
getTextin classJTextComponent- Parameters:
offs- the offset >= 0len- the length >= 0- Returns:
- the text
- Throws:
BadLocationException- if the offset or length are invalid
-
setText
Description copied from class:JTextComponentSets the text of thisTextComponentto the specified text. If the text isnullor empty, has the effect of simply deleting the old text. When text has been inserted, the resulting caret location is determined by the implementation of the caret class.Note that text is not a bound property, so no
PropertyChangeEventis fired when it changes. To listen for changes to the text, useDocumentListener.- Overrides:
setTextin classJTextComponent- Parameters:
t- the new text to be set- See Also:
-
getPassword
Returns the text contained in thisTextComponent. If the underlying document isnull, will give aNullPointerException. For stronger security, it is recommended that the returned character array be cleared after use by setting each character to zero.- Returns:
- the text
-
paramString
Returns a string representation of thisJPasswordField. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull.- Overrides:
paramStringin classJTextField- Returns:
- a string representation of this
JPasswordField
-
getAccessibleContext
Returns theAccessibleContextassociated with thisJPasswordField. For password fields, theAccessibleContexttakes the form of anAccessibleJPasswordField. A newAccessibleJPasswordFieldinstance is created if necessary.- Specified by:
getAccessibleContextin interfaceAccessible- Overrides:
getAccessibleContextin classJTextField- Returns:
- an
AccessibleJPasswordFieldthat serves as theAccessibleContextof thisJPasswordField
-
getPassword.