PasswordView (Java Platform SE 8 ) (original) (raw)
- javax.swing.text.View
- javax.swing.text.PlainView
- javax.swing.text.FieldView
* * javax.swing.text.PasswordView
- javax.swing.text.FieldView
- javax.swing.text.PlainView
All Implemented Interfaces:
SwingConstants, TabExpander
public class PasswordView
extends FieldView
Implements a View suitable for use in JPasswordField UI implementations. This is basically a field ui that renders its contents as the echo character specified in the associated component (if it can narrow the component to a JPasswordField).
See Also:
View
Field Summary
* ### Fields inherited from class javax.swing.text.[PlainView](../../../javax/swing/text/PlainView.html "class in javax.swing.text") `[metrics](../../../javax/swing/text/PlainView.html#metrics)` * ### Fields inherited from class javax.swing.text.[View](../../../javax/swing/text/View.html "class in javax.swing.text") `[BadBreakWeight](../../../javax/swing/text/View.html#BadBreakWeight), [ExcellentBreakWeight](../../../javax/swing/text/View.html#ExcellentBreakWeight), [ForcedBreakWeight](../../../javax/swing/text/View.html#ForcedBreakWeight), [GoodBreakWeight](../../../javax/swing/text/View.html#GoodBreakWeight), [X_AXIS](../../../javax/swing/text/View.html#X%5FAXIS), [Y_AXIS](../../../javax/swing/text/View.html#Y%5FAXIS)` * ### Fields inherited from interface javax.swing.[SwingConstants](../../../javax/swing/SwingConstants.html "interface in javax.swing") `[BOTTOM](../../../javax/swing/SwingConstants.html#BOTTOM), [CENTER](../../../javax/swing/SwingConstants.html#CENTER), [EAST](../../../javax/swing/SwingConstants.html#EAST), [HORIZONTAL](../../../javax/swing/SwingConstants.html#HORIZONTAL), [LEADING](../../../javax/swing/SwingConstants.html#LEADING), [LEFT](../../../javax/swing/SwingConstants.html#LEFT), [NEXT](../../../javax/swing/SwingConstants.html#NEXT), [NORTH](../../../javax/swing/SwingConstants.html#NORTH), [NORTH_EAST](../../../javax/swing/SwingConstants.html#NORTH%5FEAST), [NORTH_WEST](../../../javax/swing/SwingConstants.html#NORTH%5FWEST), [PREVIOUS](../../../javax/swing/SwingConstants.html#PREVIOUS), [RIGHT](../../../javax/swing/SwingConstants.html#RIGHT), [SOUTH](../../../javax/swing/SwingConstants.html#SOUTH), [SOUTH_EAST](../../../javax/swing/SwingConstants.html#SOUTH%5FEAST), [SOUTH_WEST](../../../javax/swing/SwingConstants.html#SOUTH%5FWEST), [TOP](../../../javax/swing/SwingConstants.html#TOP), [TRAILING](../../../javax/swing/SwingConstants.html#TRAILING), [VERTICAL](../../../javax/swing/SwingConstants.html#VERTICAL), [WEST](../../../javax/swing/SwingConstants.html#WEST)`
Constructor Summary
Constructors
Constructor Description PasswordView(Element elem) Constructs a new view wrapped on an element. Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type Method Description protected int drawEchoCharacter(Graphics g, int x, int y, char c) Renders the echo character, or whatever graphic should be used to display the password characters. protected int drawSelectedText(Graphics g, int x, int y, int p0, int p1) Renders the given range in the model as selected text. protected int drawUnselectedText(Graphics g, int x, int y, int p0, int p1) Renders the given range in the model as normal unselected text. float getPreferredSpan(int axis) Determines the preferred span for this view along an axis. Shape modelToView(int pos,Shape a,Position.Bias b) Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it. int viewToModel(float fx, float fy,Shape a,Position.Bias[] bias) Provides a mapping from the view coordinate space to the logical coordinate space of the model. * ### Methods inherited from class javax.swing.text.[FieldView](../../../javax/swing/text/FieldView.html "class in javax.swing.text") `[adjustAllocation](../../../javax/swing/text/FieldView.html#adjustAllocation-java.awt.Shape-), [getFontMetrics](../../../javax/swing/text/FieldView.html#getFontMetrics--), [getResizeWeight](../../../javax/swing/text/FieldView.html#getResizeWeight-int-), [insertUpdate](../../../javax/swing/text/FieldView.html#insertUpdate-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [paint](../../../javax/swing/text/FieldView.html#paint-java.awt.Graphics-java.awt.Shape-), [removeUpdate](../../../javax/swing/text/FieldView.html#removeUpdate-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-)` * ### Methods inherited from class javax.swing.text.[PlainView](../../../javax/swing/text/PlainView.html "class in javax.swing.text") `[changedUpdate](../../../javax/swing/text/PlainView.html#changedUpdate-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [damageLineRange](../../../javax/swing/text/PlainView.html#damageLineRange-int-int-java.awt.Shape-java.awt.Component-), [drawLine](../../../javax/swing/text/PlainView.html#drawLine-int-java.awt.Graphics-int-int-), [getLineBuffer](../../../javax/swing/text/PlainView.html#getLineBuffer--), [getTabSize](../../../javax/swing/text/PlainView.html#getTabSize--), [lineToRect](../../../javax/swing/text/PlainView.html#lineToRect-java.awt.Shape-int-), [nextTabStop](../../../javax/swing/text/PlainView.html#nextTabStop-float-int-), [setSize](../../../javax/swing/text/PlainView.html#setSize-float-float-), [updateDamage](../../../javax/swing/text/PlainView.html#updateDamage-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [updateMetrics](../../../javax/swing/text/PlainView.html#updateMetrics--)` * ### Methods inherited from class javax.swing.text.[View](../../../javax/swing/text/View.html "class in javax.swing.text") `[append](../../../javax/swing/text/View.html#append-javax.swing.text.View-), [breakView](../../../javax/swing/text/View.html#breakView-int-int-float-float-), [createFragment](../../../javax/swing/text/View.html#createFragment-int-int-), [forwardUpdate](../../../javax/swing/text/View.html#forwardUpdate-javax.swing.event.DocumentEvent.ElementChange-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [forwardUpdateToView](../../../javax/swing/text/View.html#forwardUpdateToView-javax.swing.text.View-javax.swing.event.DocumentEvent-java.awt.Shape-javax.swing.text.ViewFactory-), [getAlignment](../../../javax/swing/text/View.html#getAlignment-int-), [getAttributes](../../../javax/swing/text/View.html#getAttributes--), [getBreakWeight](../../../javax/swing/text/View.html#getBreakWeight-int-float-float-), [getChildAllocation](../../../javax/swing/text/View.html#getChildAllocation-int-java.awt.Shape-), [getContainer](../../../javax/swing/text/View.html#getContainer--), [getDocument](../../../javax/swing/text/View.html#getDocument--), [getElement](../../../javax/swing/text/View.html#getElement--), [getEndOffset](../../../javax/swing/text/View.html#getEndOffset--), [getGraphics](../../../javax/swing/text/View.html#getGraphics--), [getMaximumSpan](../../../javax/swing/text/View.html#getMaximumSpan-int-), [getMinimumSpan](../../../javax/swing/text/View.html#getMinimumSpan-int-), [getNextVisualPositionFrom](../../../javax/swing/text/View.html#getNextVisualPositionFrom-int-javax.swing.text.Position.Bias-java.awt.Shape-int-javax.swing.text.Position.Bias:A-), [getParent](../../../javax/swing/text/View.html#getParent--), [getStartOffset](../../../javax/swing/text/View.html#getStartOffset--), [getToolTipText](../../../javax/swing/text/View.html#getToolTipText-float-float-java.awt.Shape-), [getView](../../../javax/swing/text/View.html#getView-int-), [getViewCount](../../../javax/swing/text/View.html#getViewCount--), [getViewFactory](../../../javax/swing/text/View.html#getViewFactory--), [getViewIndex](../../../javax/swing/text/View.html#getViewIndex-float-float-java.awt.Shape-), [getViewIndex](../../../javax/swing/text/View.html#getViewIndex-int-javax.swing.text.Position.Bias-), [insert](../../../javax/swing/text/View.html#insert-int-javax.swing.text.View-), [isVisible](../../../javax/swing/text/View.html#isVisible--), [modelToView](../../../javax/swing/text/View.html#modelToView-int-javax.swing.text.Position.Bias-int-javax.swing.text.Position.Bias-java.awt.Shape-), [modelToView](../../../javax/swing/text/View.html#modelToView-int-java.awt.Shape-), [preferenceChanged](../../../javax/swing/text/View.html#preferenceChanged-javax.swing.text.View-boolean-boolean-), [remove](../../../javax/swing/text/View.html#remove-int-), [removeAll](../../../javax/swing/text/View.html#removeAll--), [replace](../../../javax/swing/text/View.html#replace-int-int-javax.swing.text.View:A-), [setParent](../../../javax/swing/text/View.html#setParent-javax.swing.text.View-), [updateChildren](../../../javax/swing/text/View.html#updateChildren-javax.swing.event.DocumentEvent.ElementChange-javax.swing.event.DocumentEvent-javax.swing.text.ViewFactory-), [updateLayout](../../../javax/swing/text/View.html#updateLayout-javax.swing.event.DocumentEvent.ElementChange-javax.swing.event.DocumentEvent-java.awt.Shape-), [viewToModel](../../../javax/swing/text/View.html#viewToModel-float-float-java.awt.Shape-)` * ### Methods inherited from class java.lang.[Object](../../../java/lang/Object.html "class in java.lang") `[clone](../../../java/lang/Object.html#clone--), [equals](../../../java/lang/Object.html#equals-java.lang.Object-), [finalize](../../../java/lang/Object.html#finalize--), [getClass](../../../java/lang/Object.html#getClass--), [hashCode](../../../java/lang/Object.html#hashCode--), [notify](../../../java/lang/Object.html#notify--), [notifyAll](../../../java/lang/Object.html#notifyAll--), [toString](../../../java/lang/Object.html#toString--), [wait](../../../java/lang/Object.html#wait--), [wait](../../../java/lang/Object.html#wait-long-), [wait](../../../java/lang/Object.html#wait-long-int-)`
Constructor Detail
* #### PasswordView public PasswordView([Element](../../../javax/swing/text/Element.html "interface in javax.swing.text") elem) Constructs a new view wrapped on an element. Parameters: `elem` \- the element
Method Detail
* #### drawUnselectedText protected int drawUnselectedText([Graphics](../../../java/awt/Graphics.html "class in java.awt") g, int x, int y, int p0, int p1) throws [BadLocationException](../../../javax/swing/text/BadLocationException.html "class in javax.swing.text") Renders the given range in the model as normal unselected text. This sets the foreground color and echos the characters using the value returned by getEchoChar(). Overrides: `[drawUnselectedText](../../../javax/swing/text/PlainView.html#drawUnselectedText-java.awt.Graphics-int-int-int-int-)` in class `[PlainView](../../../javax/swing/text/PlainView.html "class in javax.swing.text")` Parameters: `g` \- the graphics context `x` \- the starting X coordinate >= 0 `y` \- the starting Y coordinate >= 0 `p0` \- the starting offset in the model >= 0 `p1` \- the ending offset in the model >= p0 Returns: the X location of the end of the range >= 0 Throws: `[BadLocationException](../../../javax/swing/text/BadLocationException.html "class in javax.swing.text")` \- if p0 or p1 are out of range * #### drawSelectedText protected int drawSelectedText([Graphics](../../../java/awt/Graphics.html "class in java.awt") g, int x, int y, int p0, int p1) throws [BadLocationException](../../../javax/swing/text/BadLocationException.html "class in javax.swing.text") Renders the given range in the model as selected text. This is implemented to render the text in the color specified in the hosting component. It assumes the highlighter will render the selected background. Uses the result of getEchoChar() to display the characters. Overrides: `[drawSelectedText](../../../javax/swing/text/PlainView.html#drawSelectedText-java.awt.Graphics-int-int-int-int-)` in class `[PlainView](../../../javax/swing/text/PlainView.html "class in javax.swing.text")` Parameters: `g` \- the graphics context `x` \- the starting X coordinate >= 0 `y` \- the starting Y coordinate >= 0 `p0` \- the starting offset in the model >= 0 `p1` \- the ending offset in the model >= p0 Returns: the X location of the end of the range >= 0 Throws: `[BadLocationException](../../../javax/swing/text/BadLocationException.html "class in javax.swing.text")` \- if p0 or p1 are out of range * #### drawEchoCharacter protected int drawEchoCharacter([Graphics](../../../java/awt/Graphics.html "class in java.awt") g, int x, int y, char c) Renders the echo character, or whatever graphic should be used to display the password characters. The color in the Graphics object is set to the appropriate foreground color for selected or unselected text. Parameters: `g` \- the graphics context `x` \- the starting X coordinate >= 0 `y` \- the starting Y coordinate >= 0 `c` \- the echo character Returns: the updated X position >= 0 * #### modelToView public [Shape](../../../java/awt/Shape.html "interface in java.awt") modelToView(int pos, [Shape](../../../java/awt/Shape.html "interface in java.awt") a, [Position.Bias](../../../javax/swing/text/Position.Bias.html "class in javax.swing.text") b) throws [BadLocationException](../../../javax/swing/text/BadLocationException.html "class in javax.swing.text") Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it. Overrides: `[modelToView](../../../javax/swing/text/FieldView.html#modelToView-int-java.awt.Shape-javax.swing.text.Position.Bias-)` in class `[FieldView](../../../javax/swing/text/FieldView.html "class in javax.swing.text")` Parameters: `pos` \- the position to convert >= 0 `a` \- the allocated region to render into `b` \- the bias toward the previous character or the next character represented by the offset, in case the position is a boundary of two views; `b` will have one of these values: * `Position.Bias.Forward` * `Position.Bias.Backward` Returns: the bounding box of the given position Throws: `[BadLocationException](../../../javax/swing/text/BadLocationException.html "class in javax.swing.text")` \- if the given position does not represent a valid location in the associated document See Also: [View.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)](../../../javax/swing/text/View.html#modelToView-int-java.awt.Shape-javax.swing.text.Position.Bias-) * #### viewToModel public int viewToModel(float fx, float fy, [Shape](../../../java/awt/Shape.html "interface in java.awt") a, [Position.Bias](../../../javax/swing/text/Position.Bias.html "class in javax.swing.text")[] bias) Provides a mapping from the view coordinate space to the logical coordinate space of the model. Overrides: `[viewToModel](../../../javax/swing/text/FieldView.html#viewToModel-float-float-java.awt.Shape-javax.swing.text.Position.Bias:A-)` in class `[FieldView](../../../javax/swing/text/FieldView.html "class in javax.swing.text")` Parameters: `fx` \- the X coordinate >= 0.0f `fy` \- the Y coordinate >= 0.0f `a` \- the allocated region to render into Returns: the location within the model that best represents the given point in the view See Also: [View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias\[\])](../../../javax/swing/text/View.html#viewToModel-float-float-java.awt.Shape-javax.swing.text.Position.Bias:A-) * #### getPreferredSpan public float getPreferredSpan(int axis) Determines the preferred span for this view along an axis. Overrides: `[getPreferredSpan](../../../javax/swing/text/FieldView.html#getPreferredSpan-int-)` in class `[FieldView](../../../javax/swing/text/FieldView.html "class in javax.swing.text")` Parameters: `axis` \- may be either View.X\_AXIS or View.Y\_AXIS Returns: the span the view would like to be rendered into >= 0\. Typically the view is told to render into the span that is returned, although there is no guarantee. The parent may choose to resize or break the view. See Also: [View.getPreferredSpan(int)](../../../javax/swing/text/View.html#getPreferredSpan-int-)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.