ObjectView (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: javax.swing.text.html, class: ObjectView
Keywords: javax.swing.text.html.ObjectView class

# Class ObjectView

java.lang.Object
javax.swing.text.View
javax.swing.text.ComponentView
javax.swing.text.html.ObjectView

All Implemented Interfaces:
  `SwingConstants`

public class ObjectView extends ComponentView
Component decorator that implements the view interface for <object> elements.

This view will try to load the class specified by the `classid` attribute. If possible, the Classloader used to load the associated Document is used. This would typically be the same as the ClassLoader used to load the EditorKit. If the document's ClassLoader is null, `Class.forName` is used.

If the class can successfully be loaded, an attempt will be made to create an instance of it by calling `Class.newInstance`. An attempt will be made to narrow the instance to type `java.awt.Component` to display the object.

This view can also manage a set of parameters with limitations. The parameters to the <object> element are expected to be present on the associated elements attribute set as simple strings. Each bean property will be queried as a key on the AttributeSet, with the expectation that a non-null value (of type String) will be present if there was a parameter specification for the property. Reflection is used to set the parameter. Currently, this is limited to a very simple single parameter of type String.

A simple example HTML invocation is:

         <object classid="javax.swing.JLabel">
         <param name="text" value="sample text">
         </object>

- ## 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
  `ObjectView(Element elem)`
  Creates a new ObjectView object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Component`
  `createComponent()`
  Create the component.

  ### Methods declared in class ComponentView

  `getAlignment, getComponent, getMaximumSpan, getMinimumSpan, getPreferredSpan, modelToView, paint, setParent, viewToModel`
  Modifier and Type
  Method
  Description
  `float`
  `getAlignment(int axis)`
  Determines the desired alignment for this view along an axis.
  `final Component`
  `getComponent()`
  Fetch the component associated with the view.
  `float`
  `getMaximumSpan(int axis)`
  Determines the maximum span for this view along an axis.
  `float`
  `getMinimumSpan(int axis)`
  Determines the minimum span for this view along an axis.
  `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 coordinate space of the model to that of the view.
  `void`
  `paint(Graphics g, Shape a)`
  The real paint behavior occurs naturally from the association that the component has with its parent container (the same container hosting this view).
  `void`
  `setParent(View p)`
  Sets the parent for a child view.
  `int`
  `viewToModel(float x, float y, Shape a, Position.Bias[] bias)`
  Provides a mapping from the view coordinate space to the logical coordinate space of the model.

  ### Methods declared in class View

  `append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, setSize, updateChildren, updateLayout, viewToModel`
  Modifier and Type
  Method
  Description
  `void`
  `append(View v)`
  Appends a single child view.
  `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.
  `View`
  `createFragment(int p0, int p1)`
  Creates a view that represents a portion of the element.
  `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.
  `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.
  `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.
  `int`
  `getEndOffset()`
  Fetches the portion of the model for which this view is responsible.
  `Graphics`
  `getGraphics()`
  Fetch a `Graphics` for rendering.
  `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 at which one might place a caret.
  `View`
  `getParent()`
  Returns the parent of the view.
  `int`
  `getResizeWeight(int axis)`
  Determines the resizability of the view along the given axis.
  `int`
  `getStartOffset()`
  Fetches the portion of the model for which this view is responsible.
  `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.
  `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.
  `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`
  `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.
  `void`
  `replace(int offset, int length, View[] views)`
  Replaces child views.
  `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

  `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

  - ### ObjectView

    public ObjectView(Element elem)
    Creates a new ObjectView object.
    Parameters:
      `elem` - the element to decorate

- ## Method Details

  - ### createComponent

    protected Component createComponent()
    Create the component. The classid is used as a specification of the classname, which we try to load.
    Overrides:
      `createComponent` in class `ComponentView`
    Returns:
      the component that is associated with this view