javax.swing.plaf.synth

## Class SynthTextPaneUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.TextUI
    - - javax.swing.plaf.basic.BasicTextUI
      - - javax.swing.plaf.basic.BasicEditorPaneUI
        - - javax.swing.plaf.synth.SynthEditorPaneUI
          - - javax.swing.plaf.synth.SynthTextPaneUI

- All Implemented Interfaces:
    SynthConstants, SynthUI, ViewFactory

      public class SynthTextPaneUI
      extends SynthEditorPaneUI

  Provides the look and feel for a styled text editor in the Synth look and feel.

  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.7

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTextUI

      `BasicTextUI.BasicCaret, BasicTextUI.BasicHighlighter`

  - ### Field Summary

    - ### Fields inherited from interface javax.swing.plaf.synth.SynthConstants

      `DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SynthTextPaneUI()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ComponentUI` | `createUI(JComponent c)` | Creates a UI for the JTextPane.
    `protected String` | `getPropertyPrefix()` | Fetches the name used as a key to lookup properties through the UIManager.
    `void` | `installUI(JComponent c)` | Installs the UI for a component.
    `void` | `paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)` | Paints the border.
    `protected void` | `propertyChange(PropertyChangeEvent evt)` | This method gets called when a bound property is changed on the associated JTextComponent.

    - ### Methods inherited from class javax.swing.plaf.synth.SynthEditorPaneUI

      `getContext, installDefaults, paint, paintBackground, uninstallDefaults, update`

    - ### Methods inherited from class javax.swing.plaf.basic.BasicEditorPaneUI

      `getEditorKit, uninstallUI`

    - ### Methods inherited from class javax.swing.plaf.basic.BasicTextUI

      `create, create, createCaret, createHighlighter, createKeymap, damageRange, damageRange, getComponent, getKeymapName, getMaximumSize, getMinimumSize, getNextVisualPositionFrom, getPreferredSize, getRootView, getToolTipText, getVisibleEditorRect, installKeyboardActions, installListeners, modelChanged, modelToView, modelToView, paint, paintSafely, setView, uninstallKeyboardActions, uninstallListeners, viewToModel, viewToModel`

    - ### Methods inherited from class javax.swing.plaf.ComponentUI

      `contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SynthTextPaneUI

          public SynthTextPaneUI()

  - ### Method Detail

    - #### createUI

          public static ComponentUI createUI(JComponent c)

      Creates a UI for the JTextPane.
      Parameters:
        `c` - the JTextPane object
      Returns:
        the UI object

    - #### getPropertyPrefix

          protected String getPropertyPrefix()

      Fetches the name used as a key to lookup properties through the UIManager. This is used as a prefix to all the standard text properties.
      Overrides:
        `getPropertyPrefix` in class `BasicEditorPaneUI`
      Returns:
        the name ("TextPane")

    - #### installUI

          public void installUI(JComponent c)

      Installs the UI for a component. This does the following things.
      1. Sets opaqueness of the associated component according to its style, if the opaque property has not already been set by the client program.
      2. Installs the default caret and highlighter into the associated component. These properties are only set if their current value is either `null` or an instance of `UIResource`.
      3. Attaches to the editor and model. If there is no model, a default one is created.
      4. Creates the view factory and the view hierarchy used to represent the model.
      Overrides:
        `installUI` in class `BasicEditorPaneUI`
      Parameters:
        `c` - the editor component
      See Also:
        `BasicTextUI.installUI(javax.swing.JComponent)`, `ComponentUI.installUI(javax.swing.JComponent)`

    - #### propertyChange

          protected void propertyChange(PropertyChangeEvent evt)

      This method gets called when a bound property is changed on the associated JTextComponent. This is a hook which UI implementations may change to reflect how the UI displays bound properties of JTextComponent subclasses. If the font, foreground or document has changed, the the appropriate property is set in the default style of the document.
      Overrides:
        `propertyChange` in class `SynthEditorPaneUI`
      Parameters:
        `evt` - the property change event

    - #### paintBorder

          public void paintBorder(SynthContext context,
                                  Graphics g,
                                  int x,
                                  int y,
                                  int w,
                                  int h)

      Paints the border.
      Specified by:
        `paintBorder` in interface `SynthUI`
      Overrides:
        `paintBorder` in class `SynthEditorPaneUI`
      Parameters:
        `context` - a component context
        `g` - `Graphics` to paint on
        `x` - the X coordinate
        `y` - the Y coordinate
        `w` - width of the border
        `h` - height of the border

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, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.