- 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 inherited from class javax.swing.text.GlyphView
GlyphView.GlyphPainter
-
-
Field Summary
-
Fields inherited from class javax.swing.text.View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
Constructor Summary
Constructors Constructor and Description InlineView(Element elem)
Constructs a new view wrapped on an element.
-
Method Summary
Methods Modifier and Type Method and 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()
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 inherited from class javax.swing.text.LabelView
getBackground, getFont, getFontMetrics, getForeground, isStrikeThrough, isSubscript, isSuperscript, isUnderline, setBackground, setStrikeThrough, setSubscript, setSuperscript, setUnderline
-
Methods inherited from class javax.swing.text.GlyphView
checkPainter, clone, createFragment, getAlignment, getEndOffset, getGlyphPainter, getMinimumSpan, getNextVisualPositionFrom, getPartialSpan, getPreferredSpan, getStartOffset, getTabbedSpan, getTabExpander, getText, modelToView, paint, setGlyphPainter, viewToModel
-
Methods inherited from class javax.swing.text.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
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javax.swing.text.TabableView
getPartialSpan, getTabbedSpan
-
-
-
-
Constructor Detail
-
InlineView
public InlineView(Element elem)
Constructs a new view wrapped on an element.- Parameters:
elem
- the element
-
-
Method Detail
-
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 isnull
, behavior of this method is implementation dependent.- Overrides:
insertUpdate
in classGlyphView
- Parameters:
e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has children- Since:
- 1.5
- See Also:
View.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.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 isnull
, behavior of this method is implementation dependent.- Overrides:
removeUpdate
in classGlyphView
- Parameters:
e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has children- Since:
- 1.5
- See Also:
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.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 classLabelView
- Parameters:
e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has children- See Also:
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.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 classView
-
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 callbreakView
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 thanBadBreakWeight
should not be considered for a break. A value greater than or equal toForcedBreakWeight
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 isLabelView
. An example of a view that uses break weight isParagraphView
.- Overrides:
getBreakWeight
in classGlyphView
- Parameters:
axis
- may be either View.X_AXIS or View.Y_AXISpos
- 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 toView.breakView(int, int, float, float)
for a complete description of this method.Behavior of this method is unspecified in case
axis
is neitherView.X_AXIS
norView.Y_AXIS
, and in caseoffset
,pos
, orlen
is null.- Overrides:
breakView
in classGlyphView
- Parameters:
axis
- may be eitherView.X_AXIS
orView.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 returnedpos
- the position along the axis that the broken view would occupy >= 0. This may be useful for things like tab calculationslen
- 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 classLabelView
-
getStyleSheet
protected StyleSheet getStyleSheet()
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-javax/swing/text/html/inlineview.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.