java.awt.font

Class TextMeasurer

public final class TextMeasurer extends Object implements Cloneable

TextMeasurer is a small utility class for measuring the length of laid-out text objects.

Since: 1.3

Constructor Summary
TextMeasurer(AttributedCharacterIterator text, FontRenderContext frc)
Creates a TextMeasurer from a given text in the form of an AttributedCharacterIterator and a FontRenderContext.
Method Summary
protected Objectclone()
Clones the TextMeasurer object
voiddeleteChar(AttributedCharacterIterator newParagraph, int deletePos)
Update the text if a character is deleted at the position deletePos
floatgetAdvanceBetween(int start, int limit)
Returns the total advance between two positions in the paragraph.
TextLayoutgetLayout(int start, int limit)
Returns a TextLayout object corresponding to the characters from text to limit.
intgetLineBreakIndex(int start, float maxAdvance)
Returns the line-break index from a given starting index and a maximum advance.
voidinsertChar(AttributedCharacterIterator newParagraph, int insertPos)
Update the text if a character is inserted at the position insertPos

Constructor Detail

TextMeasurer

public TextMeasurer(AttributedCharacterIterator text, FontRenderContext frc)
Creates a TextMeasurer from a given text in the form of an AttributedCharacterIterator and a FontRenderContext.

Method Detail

clone

protected Object clone()
Clones the TextMeasurer object

deleteChar

public void deleteChar(AttributedCharacterIterator newParagraph, int deletePos)
Update the text if a character is deleted at the position deletePos

Parameters: newParagraph - the updated paragraph. deletePos - the deletion position

getAdvanceBetween

public float getAdvanceBetween(int start, int limit)
Returns the total advance between two positions in the paragraph. Characters from start to limit-1 (inclusive) are included in this count.

Parameters: start - the starting character index. limit - the limiting index.

getLayout

public TextLayout getLayout(int start, int limit)
Returns a TextLayout object corresponding to the characters from text to limit.

Parameters: start - the starting character index. limit - the limiting index.

getLineBreakIndex

public int getLineBreakIndex(int start, float maxAdvance)
Returns the line-break index from a given starting index and a maximum advance. The index returned is the first character outside the given advance (or the limit of the string, if all remaining characters fit.)

Parameters: start - the starting index. maxAdvance - the maximum advance allowed.

Returns: the index of the first character beyond maxAdvance, or the index of the last character + 1.

insertChar

public void insertChar(AttributedCharacterIterator newParagraph, int insertPos)
Update the text if a character is inserted at the position insertPos

Parameters: newParagraph - the updated paragraph. insertPos - the insertion position