public class WrappedPlainView extends BoxView implements TabExpander
The line views do all of their rendering through the
drawLine
method which in turn does all of
its rendering through the drawSelectedText
and drawUnselectedText
methods. This
enables subclasses to easily specialize the rendering
without concern for the layout aspects.
View
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Constructor and Description |
---|
WrappedPlainView(Element elem)
Creates a new WrappedPlainView.
|
WrappedPlainView(Element elem,
boolean wordWrap)
Creates a new WrappedPlainView.
|
Modifier and Type | Method and Description |
---|---|
protected int |
calculateBreakPosition(int p0,
int p1)
This is called by the nested wrapped line
views to determine the break location.
|
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.
|
protected void |
drawLine(int p0,
int p1,
Graphics g,
int x,
int y)
Renders a line of text, suppressing whitespace at the end
and expanding any tabs.
|
protected int |
drawSelectedText(Graphics g,
int x,
int y,
int p0,
int p1)
Renders the given range in the model as selected text.
|
protected int |
drawUnselectedText(Graphics g,
int x,
int y,
int p0,
int p1)
Renders the given range in the model as normal unselected
text.
|
protected Segment |
getLineBuffer()
Gives access to a buffer that can be used to fetch
text from the associated document.
|
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.
|
protected int |
getTabSize()
Returns the tab size set for the document, defaulting to 8.
|
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.
|
protected void |
loadChildren(ViewFactory f)
Loads all of the children to initialize the view.
|
float |
nextTabStop(float x,
int tabOffset)
Returns the next tab stop position after a given reference position.
|
void |
paint(Graphics g,
Shape a)
Renders using the given rendering surface and area
on that surface.
|
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 |
setSize(float width,
float height)
Sets the size of the view.
|
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, calculateMinorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getOffset, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paintChild, preferenceChanged, replace, setAxis, viewToModel
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, modelToView, setInsets, setParagraphInsets, setParent
append, breakView, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, isVisible, modelToView, remove, removeAll, updateChildren, updateLayout, viewToModel
public WrappedPlainView(Element elem)
elem
- the element underlying the viewpublic WrappedPlainView(Element elem, boolean wordWrap)
elem
- the element underlying the viewwordWrap
- should lines be wrapped on word boundaries?protected int getTabSize()
protected void drawLine(int p0, int p1, Graphics g, int x, int y)
drawUnselectedText
and
drawSelectedText
so that the way selected and
unselected text are rendered can be customized.p0
- the starting document location to use >= 0p1
- the ending document location to use >= p1g
- the graphics contextx
- the starting X position >= 0y
- the starting Y position >= 0drawUnselectedText(java.awt.Graphics, int, int, int, int)
,
drawSelectedText(java.awt.Graphics, int, int, int, int)
protected int drawUnselectedText(Graphics g, int x, int y, int p0, int p1) throws BadLocationException
g
- the graphics contextx
- the starting X coordinate >= 0y
- the starting Y coordinate >= 0p0
- the beginning position in the model >= 0p1
- the ending position in the model >= p0BadLocationException
- if the range is invalidprotected int drawSelectedText(Graphics g, int x, int y, int p0, int p1) throws BadLocationException
g
- the graphics contextx
- the starting X coordinate >= 0y
- the starting Y coordinate >= 0p0
- the beginning position in the model >= 0p1
- the ending position in the model >= p0BadLocationException
- if the range is invalidprotected final Segment getLineBuffer()
protected int calculateBreakPosition(int p0, int p1)
protected void loadChildren(ViewFactory f)
setParent
method.
Subclasses can reimplement this to initialize their
child views in a different manner. The default
implementation creates a child view for each
child element.loadChildren
in class CompositeView
f
- the view factoryCompositeView.setParent(javax.swing.text.View)
public float nextTabStop(float x, int tabOffset)
nextTabStop
in interface TabExpander
x
- the current position >= 0tabOffset
- the position within the text stream
that the tab occurred at >= 0.public void paint(Graphics g, Shape a)
paint
in class BoxView
g
- the rendering surface to usea
- the allocated region to render intoView.paint(java.awt.Graphics, java.awt.Shape)
public void setSize(float width, float height)
public float getPreferredSpan(int axis)
getPreferredSpan
in class BoxView
axis
- may be either View.X_AXIS or View.Y_AXISView.getPreferredSpan(int)
public float getMinimumSpan(int axis)
getMinimumSpan
in class BoxView
axis
- may be either View.X_AXIS or View.Y_AXISView.getMinimumSpan(int)
public float getMaximumSpan(int axis)
getMaximumSpan
in class BoxView
axis
- may be either View.X_AXIS or View.Y_AXISView.getMaximumSpan(int)
public void insertUpdate(DocumentEvent e, Shape a, ViewFactory f)
insertUpdate
in class View
e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has childrenView.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void removeUpdate(DocumentEvent e, Shape a, ViewFactory f)
removeUpdate
in class View
e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has childrenView.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f)
changedUpdate
in class View
e
- the change information from the associated documenta
- the current allocation of the viewf
- the factory to use to rebuild if the view has childrenView.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)
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, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.