# Class BasicPasswordFieldUI

java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TextUI
javax.swing.plaf.basic.BasicTextUI
javax.swing.plaf.basic.BasicTextFieldUI
javax.swing.plaf.basic.BasicPasswordFieldUI

All Implemented Interfaces:
  `ViewFactory`

public class BasicPasswordFieldUI extends BasicTextFieldUI
Provides the Windows look and feel for a password field. The only difference from the standard text field is that the view of the text is simply a string of the echo character as specified in JPasswordField, rather than the real text contained in the field.

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class BasicTextUI

  `BasicTextUI.BasicCaret, BasicTextUI.BasicHighlighter`
  Modifier and Type
  Class
  Description
  `static class`
  `BasicTextUI.BasicCaret`
  Default implementation of the interface `Caret`.
  `static class`
  `BasicTextUI.BasicHighlighter`
  Default implementation of the interface `Highlighter`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BasicPasswordFieldUI()`
  Constructs a `BasicPasswordFieldUI`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `View`
  `create(Element elem)`
  Creates a view (PasswordView) for an element.
  `static ComponentUI`
  `createUI(JComponent c)`
  Creates a UI for a JPasswordField.
  `protected String`
  `getPropertyPrefix()`
  Fetches the name used as a key to look up properties through the UIManager.
  `protected void`
  `installDefaults()`
  Installs the necessary properties on the JPasswordField.

  ### Methods declared in class BasicTextFieldUI

  `getBaseline, getBaselineResizeBehavior`
  Modifier and Type
  Method
  Description
  `int`
  `getBaseline(JComponent c, int width, int height)`
  Returns the baseline.
  `Component.BaselineResizeBehavior`
  `getBaselineResizeBehavior(JComponent c)`
  Returns an enum indicating how the baseline of the component changes as the size changes.

  ### Methods declared in class BasicTextUI

  `create, createCaret, createHighlighter, createKeymap, damageRange, damageRange, getComponent, getEditorKit, getKeymapName, getMaximumSize, getMinimumSize, getNextVisualPositionFrom, getPreferredSize, getRootView, getToolTipText, getVisibleEditorRect, installKeyboardActions, installListeners, installUI, modelChanged, modelToView, modelToView, paint, paintBackground, paintSafely, propertyChange, setView, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI, update, viewToModel, viewToModel`
  Modifier and Type
  Method
  Description
  `View`
  `create(Element elem, int p0, int p1)`
  Creates a view for an element.
  `protected Caret`
  `createCaret()`
  Creates the object to use for a caret.
  `protected Highlighter`
  `createHighlighter()`
  Creates the object to use for adding highlights.
  `protected Keymap`
  `createKeymap()`
  Creates the keymap to use for the text component, and installs any necessary bindings into it.
  `void`
  `damageRange(JTextComponent tc, int p0, int p1)`
  Causes the portion of the view responsible for the given part of the model to be repainted.
  `void`
  `damageRange(JTextComponent t, int p0, int p1, Position.Bias p0Bias, Position.Bias p1Bias)`
  Causes the portion of the view responsible for the given part of the model to be repainted.
  `protected final JTextComponent`
  `getComponent()`
  Fetches the text component associated with this UI implementation.
  `EditorKit`
  `getEditorKit(JTextComponent tc)`
  Fetches the EditorKit for the UI.
  `protected String`
  `getKeymapName()`
  Fetches the name of the keymap that will be installed/used by default for this UI.
  `Dimension`
  `getMaximumSize(JComponent c)`
  Gets the maximum size for the editor component.
  `Dimension`
  `getMinimumSize(JComponent c)`
  Gets the minimum size for the editor component.
  `int`
  `getNextVisualPositionFrom(JTextComponent t, int pos, Position.Bias b, int direction, Position.Bias[] biasRet)`
  Provides a way to determine the next visually represented model location that one might place a caret.
  `Dimension`
  `getPreferredSize(JComponent c)`
  Gets the preferred size for the editor component.
  `View`
  `getRootView(JTextComponent tc)`
  Fetches a View with the allocation of the associated text component (i.e. the root of the hierarchy) that can be traversed to determine how the model is being represented spatially.
  `String`
  `getToolTipText(JTextComponent t, Point pt)`
  Returns the string to be used as the tooltip at the passed in location.
  `protected Rectangle`
  `getVisibleEditorRect()`
  Gets the allocation (that is the allocated size) for the root view.
  `protected void`
  `installKeyboardActions()`
  Registers keyboard actions.
  `protected void`
  `installListeners()`
  Installs listeners for the UI.
  `void`
  `installUI(JComponent c)`
  Installs the UI for a component.
  `protected void`
  `modelChanged()`
  Flags model changes.
  `Rectangle`
  `modelToView(JTextComponent tc, int pos)`
  Deprecated.
  replaced by `TextUI.modelToView2D(JTextComponent, int, Position.Bias)`
  `Rectangle`
  `modelToView(JTextComponent tc, int pos, Position.Bias bias)`
  Deprecated.
  replaced by `TextUI.modelToView2D(JTextComponent, int, Position.Bias)`
  `final void`
  `paint(Graphics g, JComponent c)`
  Paints the interface.
  `protected void`
  `paintBackground(Graphics g)`
  Paints a background for the view.
  `protected void`
  `paintSafely(Graphics g)`
  Paints the interface safely with a guarantee that the model won't change from the view of this thread.
  `protected void`
  `propertyChange(PropertyChangeEvent evt)`
  This method gets called when a bound property is changed on the associated JTextComponent.
  `protected final void`
  `setView(View v)`
  Sets the current root of the view hierarchy and calls invalidate().
  `protected void`
  `uninstallDefaults()`
  Sets the component properties that have not been explicitly overridden to `null`.
  `protected void`
  `uninstallKeyboardActions()`
  Unregisters keyboard actions.
  `protected void`
  `uninstallListeners()`
  Uninstalls listeners for the UI.
  `void`
  `uninstallUI(JComponent c)`
  Deinstalls the UI for a component.
  `void`
  `update(Graphics g, JComponent c)`
  Superclass paints background in an uncontrollable way (i.e. one might want an image tiled into the background).
  `int`
  `viewToModel(JTextComponent tc, Point pt)`
  Deprecated.
  replaced by `TextUI.viewToModel2D(JTextComponent, Point2D, Position.Bias[])`
  `int`
  `viewToModel(JTextComponent tc, Point pt, Position.Bias[] biasReturn)`
  Deprecated.
  replaced by `TextUI.viewToModel2D(JTextComponent, Point2D, Position.Bias[])`

  ### Methods declared in class TextUI

  `getToolTipText2D, modelToView2D, viewToModel2D`
  Modifier and Type
  Method
  Description
  `String`
  `getToolTipText2D(JTextComponent t, Point2D pt)`
  Returns the string to be used as the tooltip at the passed in location.
  `Rectangle2D`
  `modelToView2D(JTextComponent t, int pos, Position.Bias bias)`
  Converts the given location in the model to a place in the view coordinate system.
  `int`
  `viewToModel2D(JTextComponent t, Point2D pt, Position.Bias[] biasReturn)`
  Provides a mapping from the view coordinate space to the logical coordinate space of the model.

  ### Methods declared in class ComponentUI

  `contains, getAccessibleChild, getAccessibleChildrenCount`
  Modifier and Type
  Method
  Description
  `boolean`
  `contains(JComponent c, int x, int y)`
  Returns `true` if the specified x,y location is contained within the look and feel's defined shape of the specified component.
  `Accessible`
  `getAccessibleChild(JComponent c, int i)`
  Returns the `i`th `Accessible` child of the object.
  `int`
  `getAccessibleChildrenCount(JComponent c)`
  Returns the number of accessible children in the object.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### BasicPasswordFieldUI

    public BasicPasswordFieldUI()
    Constructs a `BasicPasswordFieldUI`.

- ## Method Details

  - ### createUI

    public static ComponentUI createUI(JComponent c)
    Creates a UI for a JPasswordField.
    Parameters:
      `c` - the JPasswordField
    Returns:
      the UI

  - ### getPropertyPrefix

    protected String getPropertyPrefix()
    Fetches the name used as a key to look up properties through the UIManager. This is used as a prefix to all the standard text properties.
    Overrides:
      `getPropertyPrefix` in class `BasicTextFieldUI`
    Returns:
      the name ("PasswordField")

  - ### installDefaults

    protected void installDefaults()
    Installs the necessary properties on the JPasswordField.
    Overrides:
      `installDefaults` in class `BasicTextUI`
    Since:
      1.6
    See Also:
      - `BasicTextUI.uninstallDefaults()`
      - `BasicTextUI.installUI(JComponent)`

  - ### create

    public View create(Element elem)
    Creates a view (PasswordView) for an element.
    Specified by:
      `create` in interface `ViewFactory`
    Overrides:
      `create` in class `BasicTextFieldUI`
    Parameters:
      `elem` - the element
    Returns:
      the view
    See Also:
      - `View`