Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx.plaf
Class PromptTextUI

    java.lang.Object
      javax.swing.plaf.ComponentUI
          javax.swing.plaf.TextUI
              org.jdesktop.swingx.plaf.PromptTextUI

Direct Known Subclasses:
  PromptTextAreaUI, PromptTextFieldUI

    public abstract class PromptTextUI

extends javax.swing.plaf.TextUI

Abstract `TextUI` class that delegates most work to another `TextUI` and additionally renders a prompt text as specified in the `JTextComponent`s client properties by `PromptSupport`.

Subclasses of this class must provide a prompt component used for rendering the prompt text.

Author:
  Peter Weishapl

Nested Class Summary
`protected class` | `PromptTextUI.PainterHighlighter`

Field Summary
`protected javax.swing.plaf.TextUI` | `delegate` Delegate the hard work to this object.
`protected javax.swing.text.JTextComponent` | `promptComponent` This component ist painted when rendering the prompt text.

Constructor Summary
`PromptTextUI(javax.swing.plaf.TextUI delegate)` Creates a new `PromptTextUI` which delegates most work to another `TextUI`.

Method Summary
`boolean` | `contains(javax.swing.JComponent c, int x, int y)`
`protected abstract javax.swing.text.JTextComponent` | `createPromptComponent()` Creates a component which should be used to render the prompt text.
`void` | `damageRange(javax.swing.text.JTextComponent t, int p0, int p1)`
`void` | `damageRange(javax.swing.text.JTextComponent t, int p0, int p1, javax.swing.text.Position.Bias firstBias, javax.swing.text.Position.Bias secondBias)`
`boolean` | `equals(java.lang.Object obj)`
`javax.accessibility.Accessible` | `getAccessibleChild(javax.swing.JComponent c, int i)`
`int` | `getAccessibleChildrenCount(javax.swing.JComponent c)`
`int` | `getBaseline(javax.swing.JComponent c, int width, int height)` Tries to call `ComponentUI#getBaseline(int, int)` on the delegate via Reflection.
`javax.swing.text.EditorKit` | `getEditorKit(javax.swing.text.JTextComponent t)`
`java.awt.Dimension` | `getMaximumSize(javax.swing.JComponent c)`
`java.awt.Dimension` | `getMinimumSize(javax.swing.JComponent c)`
`int` | `getNextVisualPositionFrom(javax.swing.text.JTextComponent t, int pos, javax.swing.text.Position.Bias b, int direction, javax.swing.text.Position.Bias[] biasRet)`
`java.awt.Dimension` | `getPreferredSize(javax.swing.JComponent c)` When `shouldPaintPrompt(JTextComponent)` returns true, the prompt component is retrieved by calling `getPromptComponent(JTextComponent)` and it's preferred size is returned.
`javax.swing.text.JTextComponent` | `getPromptComponent(javax.swing.text.JTextComponent txt)` Creates a label component, if none has already been created.
`javax.swing.text.View` | `getRootView(javax.swing.text.JTextComponent t)`
`java.lang.String` | `getToolTipText(javax.swing.text.JTextComponent t, java.awt.Point pt)`
`int` | `hashCode()`
`void` | `installUI(javax.swing.JComponent c)` Calls TextUI#installUI(JComponent) on the delegate and installs a focus listener on `c` which repaints the component when it gains or loses the focus.
`java.awt.Rectangle` | `modelToView(javax.swing.text.JTextComponent t, int pos)` Calls `#modelToView(JTextComponent, int, Bias)` with `Position.Bias.Forward`.
`java.awt.Rectangle` | `modelToView(javax.swing.text.JTextComponent t, int pos, javax.swing.text.Position.Bias bias)` Delegate when `shouldPaintPrompt(JTextComponent)` returns false.
`void` | `paint(java.awt.Graphics g, javax.swing.JComponent c)` Delegates painting when `shouldPaintPrompt(JTextComponent)` returns false.
`protected void` | `paintPromptComponent(java.awt.Graphics g, javax.swing.text.JTextComponent txt)`
`boolean` | `shouldPaintPrompt(javax.swing.text.JTextComponent txt)` Returns if the prompt or the text field should be painted, depending on the state of `txt`.
`java.lang.String` | `toString()`
`void` | `uninstallUI(javax.swing.JComponent c)` Delegates, then uninstalls the focus listener.
`void` | `update(java.awt.Graphics g, javax.swing.JComponent c)` Calls super.`update(Graphics, JComponent)`, which in turn calls the paint method of this object.
`int` | `viewToModel(javax.swing.text.JTextComponent t, java.awt.Point pt)`
`int` | `viewToModel(javax.swing.text.JTextComponent t, java.awt.Point pt, javax.swing.text.Position.Bias[] biasReturn)`

Methods inherited from class javax.swing.plaf.ComponentUI
`createUI, getBaselineResizeBehavior`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### delegate

    protected final javax.swing.plaf.TextUI delegate

  Delegate the hard work to this object.

### promptComponent

    protected javax.swing.text.JTextComponent promptComponent

  This component ist painted when rendering the prompt text.

Constructor Detail

### PromptTextUI

    public PromptTextUI(javax.swing.plaf.TextUI delegate)

  Creates a new `PromptTextUI` which delegates most work to another `TextUI`.

  Parameters:
    `delegate` -

Method Detail

### createPromptComponent

    protected abstract javax.swing.text.JTextComponent createPromptComponent()

  Creates a component which should be used to render the prompt text.

  Returns:

### installUI

    public void installUI(javax.swing.JComponent c)

  Calls TextUI#installUI(JComponent) on the delegate and installs a focus listener on `c` which repaints the component when it gains or loses the focus.

  Overrides:
    `installUI` in class `javax.swing.plaf.ComponentUI`

### uninstallUI

    public void uninstallUI(javax.swing.JComponent c)

  Delegates, then uninstalls the focus listener.

  Overrides:
    `uninstallUI` in class `javax.swing.plaf.ComponentUI`

### getPromptComponent

    public javax.swing.text.JTextComponent getPromptComponent(javax.swing.text.JTextComponent txt)

  Creates a label component, if none has already been created. Sets the prompt components properties to reflect the given `JTextComponent`s properties and returns it.

  Parameters:
    `txt` -
  Returns:
    the adjusted prompt component

### getPreferredSize

    public java.awt.Dimension getPreferredSize(javax.swing.JComponent c)

  When `shouldPaintPrompt(JTextComponent)` returns true, the prompt component is retrieved by calling `getPromptComponent(JTextComponent)` and it's preferred size is returned. Otherwise super`getPreferredSize(JComponent)` is called.

  Overrides:
    `getPreferredSize` in class `javax.swing.plaf.ComponentUI`

### paint

    public void paint(java.awt.Graphics g,
                      javax.swing.JComponent c)

  Delegates painting when `shouldPaintPrompt(JTextComponent)` returns false. Otherwise the prompt component is retrieved by calling `getPromptComponent(JTextComponent)` and painted. Then the caret of the given text component is painted.

  Overrides:
    `paint` in class `javax.swing.plaf.ComponentUI`

### paintPromptComponent

    protected void paintPromptComponent(java.awt.Graphics g,
                                        javax.swing.text.JTextComponent txt)

### shouldPaintPrompt

    public boolean shouldPaintPrompt(javax.swing.text.JTextComponent txt)

  Returns if the prompt or the text field should be painted, depending on the state of `txt`.

  Parameters:
    `txt` -
  Returns:
    true when `txt` contains not text, otherwise false

### update

    public void update(java.awt.Graphics g,
                       javax.swing.JComponent c)

  Calls super.`update(Graphics, JComponent)`, which in turn calls the paint method of this object.

  Overrides:
    `update` in class `javax.swing.plaf.ComponentUI`

### modelToView

    public java.awt.Rectangle modelToView(javax.swing.text.JTextComponent t,
                                          int pos,
                                          javax.swing.text.Position.Bias bias)
                                   throws javax.swing.text.BadLocationException

  Delegate when `shouldPaintPrompt(JTextComponent)` returns false. Otherwise get the prompt component's UI and delegate to it. This ensures that the `Caret` is painted on the correct position (this is important when the text is centered, so that the caret will not be painted inside the label text)

  Specified by:
    `modelToView` in class `javax.swing.plaf.TextUI`
  Throws:
    `javax.swing.text.BadLocationException`

### modelToView

    public java.awt.Rectangle modelToView(javax.swing.text.JTextComponent t,
                                          int pos)
                                   throws javax.swing.text.BadLocationException

  Calls `#modelToView(JTextComponent, int, Bias)` with `Position.Bias.Forward`.

  Specified by:
    `modelToView` in class `javax.swing.plaf.TextUI`
  Throws:
    `javax.swing.text.BadLocationException`

### contains

    public boolean contains(javax.swing.JComponent c,
                            int x,
                            int y)

  Overrides:
    `contains` in class `javax.swing.plaf.ComponentUI`

### damageRange

    public void damageRange(javax.swing.text.JTextComponent t,
                            int p0,
                            int p1,
                            javax.swing.text.Position.Bias firstBias,
                            javax.swing.text.Position.Bias secondBias)

  Specified by:
    `damageRange` in class `javax.swing.plaf.TextUI`

### damageRange

    public void damageRange(javax.swing.text.JTextComponent t,
                            int p0,
                            int p1)

  Specified by:
    `damageRange` in class `javax.swing.plaf.TextUI`

### equals

    public boolean equals(java.lang.Object obj)

  Overrides:
    `equals` in class `java.lang.Object`

### getAccessibleChild

    public javax.accessibility.Accessible getAccessibleChild(javax.swing.JComponent c,
                                                             int i)

  Overrides:
    `getAccessibleChild` in class `javax.swing.plaf.ComponentUI`

### getAccessibleChildrenCount

    public int getAccessibleChildrenCount(javax.swing.JComponent c)

  Overrides:
    `getAccessibleChildrenCount` in class `javax.swing.plaf.ComponentUI`

### getEditorKit

    public javax.swing.text.EditorKit getEditorKit(javax.swing.text.JTextComponent t)

  Specified by:
    `getEditorKit` in class `javax.swing.plaf.TextUI`

### getMaximumSize

    public java.awt.Dimension getMaximumSize(javax.swing.JComponent c)

  Overrides:
    `getMaximumSize` in class `javax.swing.plaf.ComponentUI`

### getMinimumSize

    public java.awt.Dimension getMinimumSize(javax.swing.JComponent c)

  Overrides:
    `getMinimumSize` in class `javax.swing.plaf.ComponentUI`

### getNextVisualPositionFrom

    public int getNextVisualPositionFrom(javax.swing.text.JTextComponent t,
                                         int pos,
                                         javax.swing.text.Position.Bias b,
                                         int direction,
                                         javax.swing.text.Position.Bias[] biasRet)
                                  throws javax.swing.text.BadLocationException

  Specified by:
    `getNextVisualPositionFrom` in class `javax.swing.plaf.TextUI`
  Throws:
    `javax.swing.text.BadLocationException`

### getRootView

    public javax.swing.text.View getRootView(javax.swing.text.JTextComponent t)

  Specified by:
    `getRootView` in class `javax.swing.plaf.TextUI`

### getToolTipText

    public java.lang.String getToolTipText(javax.swing.text.JTextComponent t,
                                           java.awt.Point pt)

  Overrides:
    `getToolTipText` in class `javax.swing.plaf.TextUI`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### viewToModel

    public int viewToModel(javax.swing.text.JTextComponent t,
                           java.awt.Point pt,
                           javax.swing.text.Position.Bias[] biasReturn)

  Specified by:
    `viewToModel` in class `javax.swing.plaf.TextUI`

### viewToModel

    public int viewToModel(javax.swing.text.JTextComponent t,
                           java.awt.Point pt)

  Specified by:
    `viewToModel` in class `javax.swing.plaf.TextUI`

### getBaseline

    public int getBaseline(javax.swing.JComponent c,
                           int width,
                           int height)

  Tries to call `ComponentUI#getBaseline(int, int)` on the delegate via Reflection. Workaround to maintain compatibility with Java 5. Ideally we should also override `ComponentUI.getBaselineResizeBehavior(JComponent)`, but that's impossible since the `Component.BaselineResizeBehavior` class, which does not exist in Java 5, is involved.

  Overrides:
    `getBaseline` in class `javax.swing.plaf.ComponentUI`
  Returns:
    the baseline, or -2 if `getBaseline` could not be invoked on the delegate.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.