# Class InlineView

java.lang.Object
javax.swing.text.View
javax.swing.text.GlyphView
javax.swing.text.LabelView
javax.swing.text.html.InlineView

All Implemented Interfaces:
  `Cloneable, SwingConstants, TabableView`

public class InlineView extends LabelView
Displays the inline element styles based upon css attributes.

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class GlyphView

  `GlyphView.GlyphPainter`
  Modifier and Type
  Class
  Description
  `static class`
  `GlyphView.GlyphPainter`
  A class to perform rendering of the glyphs.

- ## Field Summary

  ### Fields declared in class View

  `BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS`
  Modifier and Type
  Field
  Description
  `static final int`
  `BadBreakWeight`
  The weight to indicate a view is a bad break opportunity for the purpose of formatting.
  `static final int`
  `ExcellentBreakWeight`
  The weight to indicate a view supports breaking, and this represents a very attractive place to break.
  `static final int`
  `ForcedBreakWeight`
  The weight to indicate a view supports breaking, and must be broken to be represented properly when placed in a view that formats its children by breaking them.
  `static final int`
  `GoodBreakWeight`
  The weight to indicate a view supports breaking, but better opportunities probably exist.
  `static final int`
  `X_AXIS`
  Axis for format/break operations.
  `static final int`
  `Y_AXIS`
  Axis for format/break operations.

  ### Fields declared in interface SwingConstants

  `BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`
  Modifier and Type
  Field
  Description
  `static final int`
  `BOTTOM`
  Box-orientation constant used to specify the bottom of a box.
  `static final int`
  `CENTER`
  The central position in an area.
  `static final int`
  `EAST`
  Compass-direction east (right).
  `static final int`
  `HORIZONTAL`
  Horizontal orientation.
  `static final int`
  `LEADING`
  Identifies the leading edge of text for use with left-to-right and right-to-left languages.
  `static final int`
  `LEFT`
  Box-orientation constant used to specify the left side of a box.
  `static final int`
  `NEXT`
  Identifies the next direction in a sequence.
  `static final int`
  `NORTH`
  Compass-direction North (up).
  `static final int`
  `NORTH_EAST`
  Compass-direction north-east (upper right).
  `static final int`
  `NORTH_WEST`
  Compass-direction north west (upper left).
  `static final int`
  `PREVIOUS`
  Identifies the previous direction in a sequence.
  `static final int`
  `RIGHT`
  Box-orientation constant used to specify the right side of a box.
  `static final int`
  `SOUTH`
  Compass-direction south (down).
  `static final int`
  `SOUTH_EAST`
  Compass-direction south-east (lower right).
  `static final int`
  `SOUTH_WEST`
  Compass-direction south-west (lower left).
  `static final int`
  `TOP`
  Box-orientation constant used to specify the top of a box.
  `static final int`
  `TRAILING`
  Identifies the trailing edge of text for use with left-to-right and right-to-left languages.
  `static final int`
  `VERTICAL`
  Vertical orientation.
  `static final int`
  `WEST`
  Compass-direction west (left).

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `InlineView(Element elem)`
  Constructs a new view wrapped on an element.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `View`
  `breakView(int axis, int offset, float pos, float len)`
  Tries to break this view on the given axis.
  `void`
  `changedUpdate(DocumentEvent e, Shape a, ViewFactory f)`
  Gives notification from the document that attributes were changed in a location that this view is responsible for.
  `AttributeSet`
  `getAttributes()`
  Fetches the attributes to use when rendering.
  `int`
  `getBreakWeight(int axis, float pos, float len)`
  Determines how attractive a break opportunity in this view is.
  `protected StyleSheet`
  `getStyleSheet()`
  Convenient method to get the StyleSheet.
  `void`
  `insertUpdate(DocumentEvent e, Shape a, ViewFactory f)`
  Gives notification that something was inserted into the document in a location that this view is responsible for.
  `void`
  `removeUpdate(DocumentEvent e, Shape a, ViewFactory f)`
  Gives notification that something was removed from the document in a location that this view is responsible for.
  `protected void`
  `setPropertiesFromAttributes()`
  Set the cached properties from the attributes.

  ### Methods declared in class LabelView

  `getBackground, getFont, getFontMetrics, getForeground, isStrikeThrough, isSubscript, isSuperscript, isUnderline, setBackground, setStrikeThrough, setSubscript, setSuperscript, setUnderline`
  Modifier and Type
  Method
  Description
  `Color`
  `getBackground()`
  Fetches the background color to use to render the glyphs.
  `Font`
  `getFont()`
  Fetches the font that the glyphs should be based upon.
  `protected FontMetrics`
  `getFontMetrics()`
  Deprecated.
  FontMetrics are not used for glyph rendering when running in the JDK.
  `Color`
  `getForeground()`
  Fetches the foreground color to use to render the glyphs.
  `boolean`
  `isStrikeThrough()`
  Determines if the glyphs should have a strikethrough line.
  `boolean`
  `isSubscript()`
  Determines if the glyphs should be rendered as superscript.
  `boolean`
  `isSuperscript()`
  Determines if the glyphs should be rendered as subscript.
  `boolean`
  `isUnderline()`
  Determines if the glyphs should be underlined.
  `protected void`
  `setBackground(Color bg)`
  Sets the background color for the view.
  `protected void`
  `setStrikeThrough(boolean s)`
  Sets whether or not the view has a strike/line through it.
  `protected void`
  `setSubscript(boolean s)`
  Sets whether or not the view represents a subscript.
  `protected void`
  `setSuperscript(boolean s)`
  Sets whether or not the view represents a superscript.
  `protected void`
  `setUnderline(boolean u)`
  Sets whether or not the view is underlined.

  ### Methods declared in class GlyphView

  `checkPainter, clone, createFragment, getAlignment, getEndOffset, getGlyphPainter, getMinimumSpan, getNextVisualPositionFrom, getPartialSpan, getPreferredSpan, getStartOffset, getTabbedSpan, getTabExpander, getText, modelToView, paint, setGlyphPainter, viewToModel`
  Modifier and Type
  Method
  Description
  `protected void`
  `checkPainter()`
  Check to see that a glyph painter exists.
  `protected final Object`
  `clone()`
  Creates a shallow copy.
  `View`
  `createFragment(int p0, int p1)`
  Creates a view that represents a portion of the element.
  `float`
  `getAlignment(int axis)`
  Determines the desired alignment for this view along an axis.
  `int`
  `getEndOffset()`
  Fetches the portion of the model that this view is responsible for.
  `GlyphView.GlyphPainter`
  `getGlyphPainter()`
  Fetch the currently installed glyph painter.
  `float`
  `getMinimumSpan(int axis)`
  Determines the minimum span for this view along an axis.
  `int`
  `getNextVisualPositionFrom(int pos, Position.Bias b, Shape a, int direction, Position.Bias[] biasRet)`
  Provides a way to determine the next visually represented model location that one might place a caret.
  `float`
  `getPartialSpan(int p0, int p1)`
  Determines the span along the same axis as tab expansion for a portion of the view.
  `float`
  `getPreferredSpan(int axis)`
  Determines the preferred span for this view along an axis.
  `int`
  `getStartOffset()`
  Fetches the portion of the model that this view is responsible for.
  `float`
  `getTabbedSpan(float x, TabExpander e)`
  Determines the desired span when using the given tab expansion implementation.
  `TabExpander`
  `getTabExpander()`
  Fetch the TabExpander to use if tabs are present in this view.
  `Segment`
  `getText(int p0, int p1)`
  Fetch a reference to the text that occupies the given range.
  `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.
  `void`
  `paint(Graphics g, Shape a)`
  Renders a portion of a text style run.
  `void`
  `setGlyphPainter(GlyphView.GlyphPainter p)`
  Sets the painter to use for rendering glyphs.
  `int`
  `viewToModel(float x, float y, Shape a, Position.Bias[] biasReturn)`
  Provides a mapping from the view coordinate space to the logical coordinate space of the model.

  ### Methods declared in class View

  `append, forwardUpdate, forwardUpdateToView, getChildAllocation, getContainer, getDocument, getElement, getGraphics, getMaximumSpan, getParent, getResizeWeight, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, replace, setParent, setSize, updateChildren, updateLayout, viewToModel`
  Modifier and Type
  Method
  Description
  `void`
  `append(View v)`
  Appends a single child view.
  `protected void`
  `forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)`
  Forwards the given `DocumentEvent` to the child views that need to be notified of the change to the model.
  `protected void`
  `forwardUpdateToView(View v, DocumentEvent e, Shape a, ViewFactory f)`
  Forwards the `DocumentEvent` to the give child view.
  `Shape`
  `getChildAllocation(int index, Shape a)`
  Fetches the allocation for the given child view.
  `Container`
  `getContainer()`
  Fetches the container hosting the view.
  `Document`
  `getDocument()`
  Fetches the model associated with the view.
  `Element`
  `getElement()`
  Fetches the structural portion of the subject that this view is mapped to.
  `Graphics`
  `getGraphics()`
  Fetch a `Graphics` for rendering.
  `float`
  `getMaximumSpan(int axis)`
  Determines the maximum span for this view along an axis.
  `View`
  `getParent()`
  Returns the parent of the view.
  `int`
  `getResizeWeight(int axis)`
  Determines the resizability of the view along the given axis.
  `String`
  `getToolTipText(float x, float y, Shape allocation)`
  Returns the tooltip text at the specified location.
  `View`
  `getView(int n)`
  Gets the nth child view.
  `int`
  `getViewCount()`
  Returns the number of views in this view.
  `ViewFactory`
  `getViewFactory()`
  Fetches the `ViewFactory` implementation that is feeding the view hierarchy.
  `int`
  `getViewIndex(float x, float y, Shape allocation)`
  Returns the child view index representing the given position in the view.
  `int`
  `getViewIndex(int pos, Position.Bias b)`
  Returns the child view index representing the given position in the model.
  `void`
  `insert(int offs, View v)`
  Inserts a single child view.
  `boolean`
  `isVisible()`
  Returns a boolean that indicates whether the view is visible or not.
  `Shape`
  `modelToView(int pos, Shape a)`
  Deprecated.
  `Shape`
  `modelToView(int p0, Position.Bias b0, int p1, Position.Bias b1, Shape a)`
  Provides a mapping, for a given region, from the document model coordinate space to the view coordinate space.
  `void`
  `preferenceChanged(View child, boolean width, boolean height)`
  Child views can call this on the parent to indicate that the preference has changed and should be reconsidered for layout.
  `void`
  `remove(int i)`
  Removes one of the children at the given position.
  `void`
  `removeAll()`
  Removes all of the children.
  `void`
  `replace(int offset, int length, View[] views)`
  Replaces child views.
  `void`
  `setParent(View parent)`
  Establishes the parent view for this view.
  `void`
  `setSize(float width, float height)`
  Sets the size of the view.
  `protected boolean`
  `updateChildren(DocumentEvent.ElementChange ec, DocumentEvent e, ViewFactory f)`
  Updates the child views in response to receiving notification that the model changed, and there is change record for the element this view is responsible for.
  `protected void`
  `updateLayout(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a)`
  Updates the layout in response to receiving notification of change from the model.
  `int`
  `viewToModel(float x, float y, Shape a)`
  Deprecated.

  ### Methods declared in class Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `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

  - ### InlineView

    public InlineView(Element elem)
    Constructs a new view wrapped on an element.
    Parameters:
      `elem` - the element

- ## Method Details

  - ### insertUpdate

    public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
    Gives notification that something was inserted into the document in a location that this view is responsible for. If either parameter is `null`, behavior of this method is implementation dependent.
    Overrides:
      `insertUpdate` in class `GlyphView`
    Parameters:
      `e` - the change information from the associated document
      `a` - the current allocation of the view
      `f` - the factory to use to rebuild if the view has children
    Since:
      1.5
    See Also:
      - `View.insertUpdate(DocumentEvent, Shape, ViewFactory)`

  - ### removeUpdate

    public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
    Gives notification that something was removed from the document in a location that this view is responsible for. If either parameter is `null`, behavior of this method is implementation dependent.
    Overrides:
      `removeUpdate` in class `GlyphView`
    Parameters:
      `e` - the change information from the associated document
      `a` - the current allocation of the view
      `f` - the factory to use to rebuild if the view has children
    Since:
      1.5
    See Also:
      - `View.removeUpdate(DocumentEvent, Shape, ViewFactory)`

  - ### changedUpdate

    public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
    Gives notification from the document that attributes were changed in a location that this view is responsible for.
    Overrides:
      `changedUpdate` in class `LabelView`
    Parameters:
      `e` - the change information from the associated document
      `a` - the current allocation of the view
      `f` - the factory to use to rebuild if the view has children
    See Also:
      - `View.changedUpdate(DocumentEvent, Shape, ViewFactory)`

  - ### getAttributes

    public AttributeSet getAttributes()
    Fetches the attributes to use when rendering. This is implemented to multiplex the attributes specified in the model with a StyleSheet.
    Overrides:
      `getAttributes` in class `View`
    Returns:
      the attributes to use when rendering

  - ### getBreakWeight

    public int getBreakWeight(int axis, float pos, float len)
    Determines how attractive a break opportunity in this view is. This can be used for determining which view is the most attractive to call `breakView` on in the process of formatting. A view that represents text that has whitespace in it might be more attractive than a view that has no whitespace, for example. The higher the weight, the more attractive the break. A value equal to or lower than `BadBreakWeight` should not be considered for a break. A value greater than or equal to `ForcedBreakWeight` should be broken.

    This is implemented to provide the default behavior of returning `BadBreakWeight` unless the length is greater than the length of the view in which case the entire view represents the fragment. Unless a view has been written to support breaking behavior, it is not attractive to try and break the view. An example of a view that does support breaking is `LabelView`. An example of a view that uses break weight is `ParagraphView`.

    Overrides:
      `getBreakWeight` in class `GlyphView`
    Parameters:
      `axis` - may be either View.X_AXIS or View.Y_AXIS
      `pos` - the potential location of the start of the broken view >= 0. This may be useful for calculating tab positions.
      `len` - specifies the relative length from pos where a potential break is desired >= 0.
    Returns:
      the weight, which should be a value between ForcedBreakWeight and BadBreakWeight.
    See Also:
      - `LabelView`
      - `ParagraphView`
      - `View.BadBreakWeight`
      - `View.GoodBreakWeight`
      - `View.ExcellentBreakWeight`
      - `View.ForcedBreakWeight`

  - ### breakView

    public View breakView(int axis, int offset, float pos, float len)
    Tries to break this view on the given axis. Refer to `View.breakView(int, int, float, float)` for a complete description of this method.

    Behavior of this method is unspecified in case `axis` is neither `View.X_AXIS` nor `View.Y_AXIS`, and in case `offset`, `pos`, or `len` is null.

    Overrides:
      `breakView` in class `GlyphView`
    Parameters:
      `axis` - may be either `View.X_AXIS` or `View.Y_AXIS`
      `offset` - the location in the document model that a broken fragment would occupy >= 0. This would be the starting offset of the fragment returned
      `pos` - the position along the axis that the broken view would occupy >= 0. This may be useful for things like tab calculations
      `len` - specifies the distance along the axis where a potential break is desired >= 0
    Returns:
      the fragment of the view that represents the given span.
    Since:
      1.5
    See Also:
      - `View.breakView(int, int, float, float)`

  - ### setPropertiesFromAttributes

    protected void setPropertiesFromAttributes()
    Set the cached properties from the attributes.
    Overrides:
      `setPropertiesFromAttributes` in class `LabelView`

  - ### getStyleSheet

    protected StyleSheet getStyleSheet()
    Convenient method to get the StyleSheet.
    Returns:
      the StyleSheet