public class PlainView extends View implements TabExpander
View| Modifier and Type | Field and Description |
|---|---|
protected FontMetrics |
metrics
Font metrics for the current font.
|
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXISBOTTOM, 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 |
|---|
PlainView(Element elem)
Constructs a new PlainView wrapped on an element.
|
| Modifier and Type | Method and Description |
|---|---|
void |
changedUpdate(DocumentEvent changes,
Shape a,
ViewFactory f)
Gives notification from the document that attributes were changed
in a location that this view is responsible for.
|
protected void |
damageLineRange(int line0,
int line1,
Shape a,
Component host)
Repaint the given line range.
|
protected void |
drawLine(int lineIndex,
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 |
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 changes,
Shape a,
ViewFactory f)
Gives notification that something was inserted into the document
in a location that this view is responsible for.
|
protected Rectangle |
lineToRect(Shape a,
int line)
Determine the rectangle that represents the given line.
|
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.
|
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 changes,
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.
|
protected void |
updateDamage(DocumentEvent changes,
Shape a,
ViewFactory f)
Repaint the region of change covered by the given document
event.
|
protected void |
updateMetrics()
Checks to see if the font metrics and longest line
are up-to-date.
|
int |
viewToModel(float fx,
float fy,
Shape a,
Position.Bias[] bias)
Provides a mapping from the view coordinate space to the logical
coordinate space of the model.
|
append, breakView, createFragment, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getNextVisualPositionFrom, getParent, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, replace, setParent, updateChildren, updateLayout, viewToModelprotected FontMetrics metrics
public PlainView(Element elem)
elem - the elementprotected int getTabSize()
protected void drawLine(int lineIndex,
Graphics g,
int x,
int y)
drawUnselectedText and
drawSelectedText so that the way selected and
unselected text are rendered can be customized.lineIndex - the line to draw >= 0g - 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 >= 0BadLocationException - 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 >= 0BadLocationException - if the range is invalidprotected final Segment getLineBuffer()
protected void updateMetrics()
public float getPreferredSpan(int axis)
getPreferredSpan in class Viewaxis - may be either View.X_AXIS or View.Y_AXISIllegalArgumentException - for an invalid axisView.getPreferredSpan(int)public void paint(Graphics g, Shape a)
paint in class Viewg - the rendering surface to usea - the allocated region to render intoView.paint(java.awt.Graphics, java.awt.Shape)public Shape modelToView(int pos, Shape a, Position.Bias b) throws BadLocationException
modelToView in class Viewpos - the position to convert >= 0a - the allocated region to render intob - the bias toward the previous character or the
next character represented by the offset, in case the
position is a boundary of two views; b will have one
of these values:
Position.Bias.Forward
Position.Bias.Backward
BadLocationException - if the given position does not
represent a valid location in the associated documentView.modelToView(int, java.awt.Shape, javax.swing.text.Position.Bias)public int viewToModel(float fx,
float fy,
Shape a,
Position.Bias[] bias)
viewToModel in class Viewfx - the X coordinate >= 0fy - the Y coordinate >= 0a - the allocated region to render intoView.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])public void insertUpdate(DocumentEvent changes, Shape a, ViewFactory f)
insertUpdate in class Viewchanges - 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 changes, Shape a, ViewFactory f)
removeUpdate in class Viewchanges - 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 changes, Shape a, ViewFactory f)
changedUpdate in class Viewchanges - 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)public void setSize(float width,
float height)
public float nextTabStop(float x,
int tabOffset)
nextTabStop in interface TabExpanderx - the current position >= 0tabOffset - the position within the text stream
that the tab occurred at >= 0.protected void updateDamage(DocumentEvent changes, Shape a, ViewFactory f)
protected void damageLineRange(int line0,
int line1,
Shape a,
Component host)
host - the component hosting the view (used to call repaint)a - the region allocated for the view to render intoline0 - the starting line number to repaint. This must
be a valid line number in the model.line1 - the ending line number to repaint. This must
be a valid line number in the model. 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, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.