java.lang.Object
javax.swing.text.Utilities
public class Utilities extends Object
A collection of methods to deal with various text
related activities.
-
Constructor Summary
Constructors Constructor Description Utilities()
-
Method Summary
Modifier and Type Method Description static float
drawTabbedText(Segment s, float x, float y, Graphics2D g, TabExpander e, int startOffset)
Draws the given text, expanding any tabs that are contained using the given tab expansion technique.static int
drawTabbedText(Segment s, int x, int y, Graphics g, TabExpander e, int startOffset)
Deprecated.static int
getBreakLocation(Segment s, FontMetrics metrics, float x0, float x, TabExpander e, int startOffset)
Determine where to break the given text to fit within the given span.static int
getBreakLocation(Segment s, FontMetrics metrics, int x0, int x, TabExpander e, int startOffset)
Deprecated.static int
getNextWord(JTextComponent c, int offs)
Determines the start of the next word for the given location.static Element
getParagraphElement(JTextComponent c, int offs)
Determines the element to use for a paragraph/line.static int
getPositionAbove(JTextComponent c, int offs, float x)
Determines the position in the model that is closest to the given view location in the row above.static int
getPositionAbove(JTextComponent c, int offs, int x)
Deprecated.replaced bygetPositionAbove(JTextComponent, int, float)
static int
getPositionBelow(JTextComponent c, int offs, float x)
Determines the position in the model that is closest to the given view location in the row below.static int
getPositionBelow(JTextComponent c, int offs, int x)
Deprecated.replaced bygetPositionBelow(JTextComponent, int, float)
static int
getPreviousWord(JTextComponent c, int offs)
Determine the start of the prev word for the given location.static int
getRowEnd(JTextComponent c, int offs)
Determines the ending row model position of the row that contains the specified model position.static int
getRowStart(JTextComponent c, int offs)
Determines the starting row model position of the row that contains the specified model position.static int
getTabbedTextOffset(Segment s, FontMetrics metrics, float x0, float x, TabExpander e, int startOffset, boolean round)
Determines the relative offset into the given text that best represents the given span in the view coordinate system.static int
getTabbedTextOffset(Segment s, FontMetrics metrics, int x0, int x, TabExpander e, int startOffset)
Deprecated.static int
getTabbedTextOffset(Segment s, FontMetrics metrics, int x0, int x, TabExpander e, int startOffset, boolean round)
Deprecated.static float
getTabbedTextWidth(Segment s, FontMetrics metrics, float x, TabExpander e, int startOffset)
Determines the width of the given segment of text taking tabs into consideration.static int
getTabbedTextWidth(Segment s, FontMetrics metrics, int x, TabExpander e, int startOffset)
Deprecated.static int
getWordEnd(JTextComponent c, int offs)
Determines the end of a word for the given location.static int
getWordStart(JTextComponent c, int offs)
Determines the start of a word for the given model location.
-
Constructor Details
-
Utilities
public Utilities()
-
-
Method Details
-
drawTabbedText
@Deprecated(since="9") public static final int drawTabbedText(Segment s, int x, int y, Graphics g, TabExpander e, int startOffset)Deprecated.Draws the given text, expanding any tabs that are contained using the given tab expansion technique. This particular implementation renders in a 1.1 style coordinate system where ints are used and 72dpi is assumed.- Parameters:
s
- the source of the textx
- the X origin >= 0y
- the Y origin >= 0g
- the graphics contexte
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset of the text in the document >= 0- Returns:
- the X location at the end of the rendered text
-
drawTabbedText
public static final float drawTabbedText(Segment s, float x, float y, Graphics2D g, TabExpander e, int startOffset)Draws the given text, expanding any tabs that are contained using the given tab expansion technique.- Parameters:
s
- the source of the textx
- the X origin>= 0
y
- the Y origin>= 0
g
- the graphics contexte
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset of the text in the document>= 0
- Returns:
- the X location at the end of the rendered text
- Since:
- 9
-
getTabbedTextWidth
@Deprecated(since="9") public static final int getTabbedTextWidth(Segment s, FontMetrics metrics, int x, TabExpander e, int startOffset)Deprecated.Determines the width of the given segment of text taking tabs into consideration. This is implemented in a 1.1 style coordinate system where ints are used and 72dpi is assumed.- Parameters:
s
- the source of the textmetrics
- the font metrics to use for the calculationx
- the X origin >= 0e
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset of the text in the document >= 0- Returns:
- the width of the text
-
getTabbedTextWidth
public static final float getTabbedTextWidth(Segment s, FontMetrics metrics, float x, TabExpander e, int startOffset)Determines the width of the given segment of text taking tabs into consideration.- Parameters:
s
- the source of the textmetrics
- the font metrics to use for the calculationx
- the X origin>= 0
e
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset of the text in the document>= 0
- Returns:
- the width of the text
- Since:
- 9
-
getTabbedTextOffset
@Deprecated(since="9") public static final int getTabbedTextOffset(Segment s, FontMetrics metrics, int x0, int x, TabExpander e, int startOffset)Deprecated.Determines the relative offset into the given text that best represents the given span in the view coordinate system. This is implemented in a 1.1 style coordinate system where ints are used and 72dpi is assumed.- Parameters:
s
- the source of the textmetrics
- the font metrics to use for the calculationx0
- the starting view location representing the start of the given text >= 0.x
- the target view location to translate to an offset into the text >= 0.e
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset of the text in the document >= 0- Returns:
- the offset into the text >= 0
-
getTabbedTextOffset
@Deprecated(since="9") public static final int getTabbedTextOffset(Segment s, FontMetrics metrics, int x0, int x, TabExpander e, int startOffset, boolean round)Deprecated.Determines the relative offset into the given text that best represents the given span in the view coordinate system.- Parameters:
s
- the source of the textmetrics
- the font metrics to use for the calculationx0
- the starting view location representing the start of the given text >= 0.x
- the target view location to translate to an offset into the text >= 0.e
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset of the text in the document >= 0round
- whether or not to round- Returns:
- the offset into the text >= 0
-
getTabbedTextOffset
public static final int getTabbedTextOffset(Segment s, FontMetrics metrics, float x0, float x, TabExpander e, int startOffset, boolean round)Determines the relative offset into the given text that best represents the given span in the view coordinate system.- Parameters:
s
- the source of the textmetrics
- the font metrics to use for the calculationx0
- the starting view location representing the start of the given text>= 0
.x
- the target view location to translate to an offset into the text>= 0
.e
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset of the text in the document>= 0
round
- whether or not to round- Returns:
- the offset into the text
>= 0
- Since:
- 9
-
getBreakLocation
@Deprecated(since="9") public static final int getBreakLocation(Segment s, FontMetrics metrics, int x0, int x, TabExpander e, int startOffset)Deprecated.Determine where to break the given text to fit within the given span. This tries to find a word boundary.- Parameters:
s
- the source of the textmetrics
- the font metrics to use for the calculationx0
- the starting view location representing the start of the given text.x
- the target view location to translate to an offset into the text.e
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset in the document of the text- Returns:
- the offset into the given text
-
getBreakLocation
public static final int getBreakLocation(Segment s, FontMetrics metrics, float x0, float x, TabExpander e, int startOffset)Determine where to break the given text to fit within the given span. This tries to find a word boundary.- Parameters:
s
- the source of the textmetrics
- the font metrics to use for the calculationx0
- the starting view location representing the start of the given text.x
- the target view location to translate to an offset into the text.e
- how to expand the tabs. If this value is null, tabs will be expanded as a space character.startOffset
- starting offset in the document of the text- Returns:
- the offset into the given text
- Since:
- 9
-
getRowStart
Determines the starting row model position of the row that contains the specified model position. The component given must have a size to compute the result. If the component doesn't have a size a value of -1 will be returned.- Parameters:
c
- the editoroffs
- the offset in the document >= 0- Returns:
- the position >= 0 if the request can be computed, otherwise a value of -1 will be returned.
- Throws:
BadLocationException
- if the offset is out of range
-
getRowEnd
Determines the ending row model position of the row that contains the specified model position. The component given must have a size to compute the result. If the component doesn't have a size a value of -1 will be returned.- Parameters:
c
- the editoroffs
- the offset in the document >= 0- Returns:
- the position >= 0 if the request can be computed, otherwise a value of -1 will be returned.
- Throws:
BadLocationException
- if the offset is out of range
-
getPositionAbove
@Deprecated(since="9") public static final int getPositionAbove(JTextComponent c, int offs, int x) throws BadLocationExceptionDeprecated.replaced bygetPositionAbove(JTextComponent, int, float)
Determines the position in the model that is closest to the given view location in the row above. The component given must have a size to compute the result. If the component doesn't have a size a value of -1 will be returned.- Parameters:
c
- the editoroffs
- the offset in the document >= 0x
- the X coordinate >= 0- Returns:
- the position >= 0 if the request can be computed, otherwise a value of -1 will be returned.
- Throws:
BadLocationException
- if the offset is out of range
-
getPositionAbove
public static final int getPositionAbove(JTextComponent c, int offs, float x) throws BadLocationExceptionDetermines the position in the model that is closest to the given view location in the row above. The component given must have a size to compute the result. If the component doesn't have a size a value of -1 will be returned.- Parameters:
c
- the editoroffs
- the offset in the document>= 0
x
- the X coordinate>= 0
- Returns:
- the position
>= 0
if the request can be computed, otherwise a value of -1 will be returned. - Throws:
BadLocationException
- if the offset is out of range- Since:
- 9
-
getPositionBelow
@Deprecated(since="9") public static final int getPositionBelow(JTextComponent c, int offs, int x) throws BadLocationExceptionDeprecated.replaced bygetPositionBelow(JTextComponent, int, float)
Determines the position in the model that is closest to the given view location in the row below. The component given must have a size to compute the result. If the component doesn't have a size a value of -1 will be returned.- Parameters:
c
- the editoroffs
- the offset in the document >= 0x
- the X coordinate >= 0- Returns:
- the position >= 0 if the request can be computed, otherwise a value of -1 will be returned.
- Throws:
BadLocationException
- if the offset is out of range
-
getPositionBelow
public static final int getPositionBelow(JTextComponent c, int offs, float x) throws BadLocationExceptionDetermines the position in the model that is closest to the given view location in the row below. The component given must have a size to compute the result. If the component doesn't have a size a value of -1 will be returned.- Parameters:
c
- the editoroffs
- the offset in the document>= 0
x
- the X coordinate>= 0
- Returns:
- the position
>= 0
if the request can be computed, otherwise a value of -1 will be returned. - Throws:
BadLocationException
- if the offset is out of range- Since:
- 9
-
getWordStart
Determines the start of a word for the given model location. Uses BreakIterator.getWordInstance() to actually get the words.- Parameters:
c
- the editoroffs
- the offset in the document >= 0- Returns:
- the location in the model of the word start >= 0
- Throws:
BadLocationException
- if the offset is out of range
-
getWordEnd
Determines the end of a word for the given location. Uses BreakIterator.getWordInstance() to actually get the words.- Parameters:
c
- the editoroffs
- the offset in the document >= 0- Returns:
- the location in the model of the word end >= 0
- Throws:
BadLocationException
- if the offset is out of range
-
getNextWord
Determines the start of the next word for the given location. Uses BreakIterator.getWordInstance() to actually get the words.- Parameters:
c
- the editoroffs
- the offset in the document >= 0- Returns:
- the location in the model of the word start >= 0
- Throws:
BadLocationException
- if the offset is out of range
-
getPreviousWord
Determine the start of the prev word for the given location. Uses BreakIterator.getWordInstance() to actually get the words.- Parameters:
c
- the editoroffs
- the offset in the document >= 0- Returns:
- the location in the model of the word start >= 0
- Throws:
BadLocationException
- if the offset is out of range
-
getParagraphElement
Determines the element to use for a paragraph/line.- Parameters:
c
- the editoroffs
- the starting offset in the document >= 0- Returns:
- the element
-
drawTabbedText(Segment, float, float, Graphics2D, TabExpander, int)