|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
java.lang.Objectjava.awt.font.TextLayout
public final class TextLayout
TextLayout´Â
¼½Ä ÷ºÎ ¹®ÀÚ µ¥ÀÌÅÍÀÇ ºÒº¯ÀÇ ±×·¡ÇÈ Ç¥ÇöÀÔ´Ï´Ù.
ÀÌ Å¬·¡½º´Â ´ÙÀ½ÀÇ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
TextLayout°´Ã¼´Â
draw ¸Þ¼µå¸¦ »ç¿ëÇØ ·»´õ¸µ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
TextLayout´Â
Á÷Á¢ ¶Ç´Â LineBreakMeasurer¸¦
°³ÀÔ½ÃÄÑ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. Á÷Á¢ ÀÛ¼ºµÇ´Â °æ¿ì, ¼Ò½º ÅØ½ºÆ®´Â 1°³ÀÇ ´Ü¶ôÀ» ³ªÅ¸³À´Ï´Ù. LineBreakMeasurer¿¡
¼´Â ƯÁ¤ÀÇ Æø¿¡ µé¾î°¡´Â º¹¼öÀÇ Çà¿¡ ¼½Ä ÷ºÎ ÅØ½ºÆ®¸¦ ºÐÇÒÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº LineBreakMeasurer
¹®¼¸¦ ÂüÁ¶ÇϽʽÿÀ.
TextLayout
±¸ÃàÀº ³í¸®ÀûÀ̰Դ ´ÙÀ½ÀÇ ¼ø¼·Î ÇàÇØÁý´Ï´Ù.
TextAttribute.FONT °¡ ÀÖ´Â °æ¿ì´Â ÆùÆ®°¡ »ç¿ëµÇ¾î ±×·¸Áö ¾ÊÀº °æ¿ì´Â Á¤ÀÇ ³¡³ ¼Ó¼ºÀ» »ç¿ëÇØ µðÆúÆ® ÆùÆ®°¡ °è»êµÈ´Ù
TextLayout °´Ã¼ÀÇ ¸Þ¼µå·ÎºÎÅÍ ¸®ÅϵÈ
¸ðµç ±×·¡ÇÈ Á¤º¸´Â TextLayout °´Ã¼ÀÇ baseline¿Í Á´ÜÀÇ ±³Á¡ÀÎ TextLayout
¿øÁ¡À» ±âÁØÀ¸·Î Çϰí ÀÖ½À´Ï´Ù. ¶Ç, TextLayout °´Ã¼ÀÇ ¸Þ¼µå¿¡°Ô °Ç³×Áö´Â ÁÂÇ¥´Â TextLayout °´Ã¼ÀÇ ¿øÁ¡À» ±âÁØÀ¸·Î Çϰí ÀÖ´Â °ÍÀ̶ó°í º¸¿©Áý´Ï´Ù. º¸Åë, Ŭ¶óÀÌ¾ðÆ®´Â TextLayout °´Ã¼ÀÇ ÁÂÇ¥°è¿Í ´Ù¸¥ °´Ã¼ (Graphics °´Ã¼µî)ÀÇ ÁÂÇ¥°è¿ÍÀÇ »çÀÌ¿¡ º¯È¯ÀÌ ÇÊ¿äÇÏ°Ô µË´Ï´Ù.
TextLayout°´Ã¼´Â
¼½Ä ÷ºÎ ÅØ½ºÆ®·ÎºÎÅÍ ±¸ÃàµË´Ï´Ù¸¸, ¼Ò½º ÅØ½ºÆ®¿¡ÀÇ ÂüÁ¶´Â º¸°ü À¯ÁöÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¶§¹®¿¡
TextLayout¸¦ »ý¼ºÇϱâ À§Çؼ »ç¿ëµÈ ÅØ½ºÆ®¿¡ ±× ÈÄ º¯°æÀÌ ´õÇØÁ®µµ, TextLayout¿¡ ¿µÇâÀº ¾ø½À´Ï´Ù.
TextLayout °´Ã¼ÀÇ 3°³ÀÇ ¸Þ¼µå (getNextRightHit, getNextLeftHit ¹× hitTestChar)´Â TextHitInfo
ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù. ±×·¯ÇÑ TextHitInfo °´Ã¼¿¡ Æ÷ÇԵǴ ¿ÀÇÁ¼Â(offset)´Â TextLayout¸¦ ÀÛ¼ºÇϱâ À§Çؼ »ç¿ëµÈ ÅØ½ºÆ®°¡ ¾Æ´Ï°í, TextLayout
¼±µÎ¸¦ ±âÁØÀ¸·Î ÇÕ´Ï´Ù. ¶È°°ÀÌ, TextHitInfo
ÀνºÅϽº¸¦ ÆÄ¶ó¹ÌÅͷμ ¹Þ´Â TextLayout
¸Þ¼µåµµ, TextHitInfo °´Ã¼ÀÇ ¿ÀÇÁ¼Â(offset)ÀÇ ±âÁØÀº TextLayout À̸ç, ±âº»ÀÌ µÇ´Â ÅØ½ºÆ® ½ºÅ丮Áö ¸ðµ¨Àº ¾Æ´Ï¸é »óÁ¤ÇÕ´Ï´Ù.
¿¹:
TextLayout¿Í
±× °æ°èÀÇ ±¸ÇüÀÇ ÀÛ¼º ¹× ·»´õ¸µ
Graphics2D g = ...;
Point2D loc = ...;
Font font = Font.getFont("Helvetica-bold-italic");
FontRenderContext frc = g.getFontRenderContext();
TextLayout layout = new TextLayout("This is a string", font, frc);
layout.draw(g, (float) loc.getX(), (float) loc.getY());
Rectangle2D bounds = layout.getBounds(); bounds.setRect(bounds.getX() +loc.getX(), bounds.getY() +loc.getY(), bounds.getWidth(), bounds.getHeight()); g.draw(bounds);
TextLayout·Î
È÷Æ®¸¦ Å×½ºÆ®ÇÕ´Ï´Ù (ƯÁ¤ÀÇ ±×·¡ÇÈ À§Ä¡¿¡ ÀÖ´Â ¹®ÀÚ¸¦ ÆÇÁ¤ÇÑ´Ù).
Point2D click = ...; TextHitInfo hit = layout.hitTestChar( (float) (click.getX() - loc.getX()), (float) (click.getY() - loc.getY()));
¿À¸¥ÂÊ Ä¿¼ ۰¡ ¹Ð·È´ø °Í¿¡ ¹ÝÀÀÇÕ´Ï´Ù.
int insertionIndex = ...;
TextHitInfo next = layout.getNextRightHit(insertionIndex);
if (next ! = null) { // translate graphics to origin of layout on screen g.translate(loc.getX(), loc.getY());
Shape[] carets = layout.getCaretShapes(next.getInsertionIndex());
g.draw(carets[0]);
if (carets[1] ! = null) { g.draw(carets[1]);
} }
¼Ò½º ÅØ½ºÆ®ÀÇ ºÎºÐ ij¸¯ÅÍ ¶óÀο¡ ´ëÀÀÇÏ´Â ¼±Åà ¹üÀ§¸¦ ·»´õ¸µ ÇÕ´Ï´Ù. ¼±ÅÃµÈ ¿µ¿ªÀº ½Ã°¢ÀûÀ¸·Î ¿¬¼ÓÇÏÁö ¾ÊÀº °æ¿ì°¡ ÀÖ½À´Ï´Ù.
// selStart, selLimit should be relative to the layout, // not to the source text int selStart = ..., selLimit = ...; Color selectionColor = ...; Shape selection = layout.getLogicalHighlightShape(selStart, selLimit); // selection may consist of disjoint areas // graphics is assumed to be tranlated to origin of layout g.setColor(selectionColor); g.fill(selection);
½Ã°¢ÀûÀ¸·Î ¿¬¼ÓÇÑ ¼±Åà ¹üÀ§¸¦ ·»´õ¸µ ÇÕ´Ï´Ù. ¼±Åà ¹üÀ§´Â ¼Ò½º ÅØ½ºÆ®ÀÇ º¹¼öÀÇ ºÎºÐ ij¸¯ÅÍ ¶óÀο¡ ´ëÀÀÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ´ëÀÀÇÏ´Â ¼Ò½º ÅØ½ºÆ®ÀÇ ºÎºÐ ij¸¯ÅÍ ¶óÀÎÀÇ ¹üÀ§´Â getLogicalRangesForVisualSelection()¿¡ ÀÇÇØ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
TextHitInfo selStart = ..., selLimit = ...; Shape selection = layout.getVisualHighlightShape(selStart, selLimit); g.setColor(selectionColor); g.fill(selection); int[] ranges = getLogicalRangesForVisualSelection(selStart, selLimit); // ranges[0], ranges[1] is the first selection range, // ranges[2], ranges[3] is the second selection range, etc.
LineBreakMeasurer,
TextAttribute,
TextHitInfo | Áßø(Nested) Ŭ·¡½º °³¿ä | |
|---|---|
static class |
TextLayout.CaretPolicy
°ÇÑ caretÀÇ Àå¼Ò¸¦ °áÁ¤ÇÏ´Â Á¤Ã¥¸¦ Á¤ÀÇÇÕ´Ï´Ù. |
| ÇÊµå °³¿ä | |
|---|---|
static TextLayout.CaretPolicy |
DEFAULT_CARET_POLICY
ÀÌ CaretPolicy´Â
Á¤Ã¥°¡ Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ »ç¿ëµË´Ï´Ù. |
| »ý¼ºÀÚ °³¿ä | |
|---|---|
TextLayout (AttributedCharacterIterator text,
FontRenderContext frc)
¼½Ä ÷ºÎ ÅØ½ºÆ®ÀÇ ¹Ýº¹ÀڷκÎÅÍ TextLayout¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
TextLayout (String string,
Font font,
FontRenderContext frc)
String ¹× Font ·ÎºÎÅÍ TextLayout¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
TextLayout (String string,
Map <? extends AttributedCharacterIterator.Attribute,
? > attributes,
FontRenderContext frc)
String ¹× ¼Ó¼º ¼¼Æ®·ÎºÎÅÍ TextLayout¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
| ¸Þ¼µå °³¿ä | |
|---|---|
protected Object |
clone ()
ÀÌ TextLayout
º¹»çº»À» ÀÛ¼ºÇÕ´Ï´Ù. |
void |
draw (Graphics2D g2,
float x,
float y)
ÁöÁ¤µÈ Graphics2D ÄÁÅØ½ºÆ®
ÀÇ ÁöÁ¤µÈ À§Ä¡¿¡ ÀÌ TextLayout¸¦ ·»´õ¸µ ÇÕ´Ï´Ù. |
boolean |
equals (Object obj)
ÁöÁ¤µÈ ObjectÀÌ TextLayout °´Ã¼·Î ÁöÁ¤µÈ ObjectÀÌ ÀÌ TextLayout¿Í
µ¿ÀÏÇÑ °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
equals (TextLayout rhs)
2°³ÀÇ ·¹À̾ƿôÀÌ µ¿ÀÏÇÑ °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
float |
getAdvance ()
ÀÌ TextLayout
À¯È¿³ÐÀ̸¦ ¸®ÅÏÇÕ´Ï´Ù. |
float |
getAscent ()
ÀÌ TextLayout
¾Æ¼¾Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
byte |
getBaseline ()
ÀÌ TextLayout
baseline¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
float[] |
getBaselineOffsets ()
ÀÌ TextLayout·Î
»ç¿ëµÇ´Â baselineÀÇ ¿ÀÇÁ¼Â(offset) ¹è¿À» ¸®ÅÏÇÕ´Ï´Ù. |
Shape |
getBlackBoxBounds (int firstEndpoint,
int secondEndpoint)
ÁöÁ¤µÈ ¹üÀ§¿¡ ÀÖ´Â ¸ðµç ¹®ÀÚÀÇ ºí·¢ ¹Ú½º °æ°è¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Rectangle2D |
getBounds ()
ÀÌ TextLayout
°æ°è¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
float[] |
getCaretInfo (TextHitInfo hit)
hit¿¡ ´ëÀÀÇÏ´Â caret¿¡ ´ëÇÑ Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
float[] |
getCaretInfo (TextHitInfo hit,
Rectangle2D bounds)
hit¿¡ ´ëÀÀÇÏ´Â caret¿¡ ´ëÇÑ Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Shape |
getCaretShape (TextHitInfo hit)
ÀÌ TextLayout
ÀÚ¿¬ °æ°è³»ÀÇ ÁöÁ¤µÈ È÷Æ®¿¡ ÀÖ´Â caret¸¦ ³ªÅ¸³»´Â Shape¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Shape |
getCaretShape (TextHitInfo hit,
Rectangle2D bounds)
ÁöÁ¤µÈ °æ°è³»ÀÇ ÁöÁ¤µÈ È÷Æ®¿¡ ÀÖ´Â caret¸¦ ³ªÅ¸³»´Â Shape¸¦
¸®ÅÏÇÕ´Ï´Ù. |
Shape [] |
getCaretShapes (int offset)
°ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2°³ÀÇ À±°û¼±À» ¸®ÅÏÇÕ´Ï´Ù. |
Shape [] |
getCaretShapes (int offset,
Rectangle2D bounds)
°ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2°³ÀÇ À±°û¼±À» ¸®ÅÏÇÕ´Ï´Ù. |
Shape [] |
getCaretShapes (int offset,
Rectangle2D bounds,
TextLayout.CaretPolicy policy)
°ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2°³ÀÇ À±°û¼±À» ¸®ÅÏÇÕ´Ï´Ù. |
int |
getCharacterCount ()
ÀÌ TextLayoutÀÌ ³ªÅ¸³»´Â ¹®ÀÚ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
byte |
getCharacterLevel (int index)
index¿¡ ÀÖ´Â ¹®ÀÚÀÇ ·¹º§À» ¸®ÅÏÇÕ´Ï´Ù. |
float |
getDescent ()
ÀÌ TextLayout
µð ¼¾Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
TextLayout |
getJustifiedLayout (float justificationWidth)
ÁöÁ¤µÈ Æø¿¡ Çà °¡Áö·±È÷ ÇÏ°í µÈ, ÀÌ TextLayout
º¹»çº»À» ÀÛ¼ºÇÕ´Ï´Ù. |
float |
getLeading ()
TextLayout
leading¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Shape |
getLogicalHighlightShape (int firstEndpoint,
int secondEndpoint)
ÁöÁ¤µÈ ¹üÀ§ÀÇ ³í¸®ÀûÀÎ ¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape¸¦, ÀÌ TextLayout
ÀÚ¿¬ °æ°è±îÁö È®ÀåÇØ ¸®ÅÏÇÕ´Ï´Ù. |
Shape |
getLogicalHighlightShape (int firstEndpoint,
int secondEndpoint,
Rectangle2D bounds)
ÁöÁ¤µÈ ¹üÀ§ÀÇ ³í¸®ÀûÀÎ ¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape¸¦, ÁöÁ¤µÈ bounds ±îÁö È®ÀåÇØ ¸®ÅÏÇÕ´Ï´Ù. |
int[] |
getLogicalRangesForVisualSelection (TextHitInfo firstEndpoint,
TextHitInfo secondEndpoint)
½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§¿¡ ´ëÀÀÇÏ´Â ÅØ½ºÆ®ÀÇ ³í¸®ÀûÀÎ ¹üÀ§¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
getNextLeftHit (int offset)
¿ÞÂÊ (»ó) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
getNextLeftHit (int offset,
TextLayout.CaretPolicy policy)
¿ÞÂÊ (»ó) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
getNextLeftHit (TextHitInfo hit)
¿ÞÂÊ (»ó) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
getNextRightHit (int offset)
¿À¸¥ÂÊ (ÇÏ) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
getNextRightHit (int offset,
TextLayout.CaretPolicy policy)
¿À¸¥ÂÊ (ÇÏ) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
getNextRightHit (TextHitInfo hit)
¿À¸¥ÂÊ (ÇÏ) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Shape |
getOutline (AffineTransform tx)
ÀÌ TextLayout
À±°ûÀ» ³ªÅ¸³»´Â Shape¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
float |
getVisibleAdvance ()
ÀÌ TextLayout
À¯È¿³ÐÀ̸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Shape |
getVisualHighlightShape (TextHitInfo firstEndpoint,
TextHitInfo secondEndpoint)
ÁöÁ¤µÈ ¹üÀ§ÀÇ ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape¸¦, °æ°è±îÁö È®ÀåÇØ ¸®ÅÏÇÕ´Ï´Ù. |
Shape |
getVisualHighlightShape (TextHitInfo firstEndpoint,
TextHitInfo secondEndpoint,
Rectangle2D bounds)
ÁöÁ¤µÈ ¹üÀ§ÀÇ ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â À±°û¼±À» bounds ±îÁö È®ÀåÇØ ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
getVisualOtherHit (TextHitInfo hit)
ÁöÁ¤µÈ È÷Æ®ÀÇ caretÀÇ ¹Ý´ëÃøÀÇ È÷Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
protected void |
handleJustify (float justificationWidth)
ÀÌ ·¹À̾ƿôÀ» Çà °¡Áö·±È÷ ÇÕ´Ï´Ù. |
int |
hashCode ()
ÀÌ TextLayout
ÇØ½Ã Äڵ带 ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
hitTestChar (float x,
float y)
ÁöÁ¤µÈ Á¡¿¡ ´ëÀÀÇÏ´Â TextHitInfo¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
TextHitInfo |
hitTestChar (float x,
float y,
Rectangle2D bounds)
ÁöÁ¤µÈ Á¡¿¡ ´ëÀÀÇÏ´Â TextHitInfo¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
isLeftToRight ()
ÀÌ TextLayout
º£À̽º°¡ µÉ ¹æÇâÀÌ ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀÇ °æ¿ì¿¡ true¸¦ µ¹·ÁÁÖ°í, ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀÇ °æ¿ì¿¡ false¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
isVertical ()
ÀÌ TextLayoutÀÌ ¼öÁ÷ÀÇ °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
String |
toString ()
ÀÌ TextLayout
µð¹ö±× Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
|---|
finalize,
getClass,
notify,
notifyAll,
wait,
wait,
wait |
| ÇʵåÀÇ »ó¼¼ |
|---|
public static final TextLayout.CaretPolicy DEFAULT_CARET_POLICY
CaretPolicy´Â
Á¤Ã¥°¡ Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ »ç¿ëµË´Ï´Ù. ÀÌ Á¤Ã¥¿¡ ¼´Â ¹æÇâÀÌ ÇàÀÇ ¹æÇâ°ú °°Àº ¹®ÀÚÀÇ È÷Æ®°¡ ¹Ý´ë ¹æÇâÀÇ ¹®ÀÚÀÇ È÷Æ®º¸´Ù °ÇØÁý´Ï´Ù. ¹®ÀÚÀÇ ¹æÇâÀÌ °°Àº °æ¿ì, ¹®ÀÚÀÇ ¸®µù ¿§ÁöÀÇ È÷Æ®°¡ ¹®ÀÚÀÇ Æ®·¹ÀÌ ¸µ ¿§ÁöÀÇ È÷Æ®º¸´Ù °ÇØÁý´Ï´Ù.
| »ý¼ºÀÚ »ó¼¼ |
|---|
public TextLayout(String string,
Font font,
FontRenderContext frc)
String ¹× Font ·ÎºÎÅÍ TextLayout¸¦ ±¸ÃàÇÕ´Ï´Ù. ¸ðµç ÅØ½ºÆ®´Â ÁöÁ¤µÈ Font¸¦ »ç¿ëÇØ ¼½ÄÀÌ ¼³Á¤µË´Ï´Ù.
String¿¡´Â 1 ´Ü¶ôÀÇ ÅØ½ºÆ®¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ½Ö¹æÇâ ¾Ë°í¸®Áò¿¡¼´Â ´Ü¶ô Àüü°¡ ¿ä±¸µÇ±â ¶§¹®ÀÔ´Ï´Ù.
string - Ç¥½ÃÇÏ´Â ÅØ½ºÆ®font - ÅØ½ºÆ®ÀÇ ¼½ÄÀ» ¼³Á¤Çϱâ À§Çؼ »ç¿ëµÇ´Â Fontfrc - ÅØ½ºÆ®¸¦ Á¤È®ÇÏ°Ô ÃøÁ¤Çϱâ À§Çؼ ÇÊ¿äÇÑ ±×·¡ÇÈ µð¹ÙÀ̽º¿¡ °üÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù. ÅØ½ºÆ® ÃøÁ¤Àº µð¹ÙÀ̽ºÀÇ ÇØ»óµµ¿¡ ÀÇÇØ Á¶±Ý ´Þ¶ó, ¿¡Àϸ®¾î¡ Á¦°ÅµîÀÇ ¼Ó¼º¿¡ µû¶ó¼ ´Ù¸£´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â TextLayout¿Í
»ç¿ëÀÚ
°ø°£ÀÇ »çÀÌÀÇ À̵¿Àº ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù
public TextLayout(String string,
Map <? extends AttributedCharacterIterator.Attribute,
? > attributes,
FontRenderContext frc)
String ¹× ¼Ó¼º ¼¼Æ®·ÎºÎÅÍ TextLayout¸¦ ±¸ÃàÇÕ´Ï´Ù.
¸ðµç ÅØ½ºÆ®´Â ÁöÁ¤µÈ ¼Ó¼º¿¡ ÀÇÇØ ¼½ÄÀÌ ¼³Á¤µË´Ï´Ù.
string¿¡´Â 1 ´Ü¶ôÀÇ ÅØ½ºÆ®¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ½Ö¹æÇâ ¾Ë°í¸®Áò¿¡¼´Â ´Ü¶ô Àüü°¡ ¿ä±¸µÇ±â ¶§¹®ÀÔ´Ï´Ù.
string - Ç¥½ÃÇÏ´Â ÅØ½ºÆ®attributes - ÅØ½ºÆ®ÀÇ ¼½ÄÀ» ¼³Á¤Çϱâ À§Çؼ »ç¿ëµÇ´Â ¼Ó¼ºfrc - ÅØ½ºÆ®¸¦ Á¤È®ÇÏ°Ô ÃøÁ¤Çϱâ À§Çؼ ÇÊ¿äÇÑ ±×·¡ÇÈ µð¹ÙÀ̽º¿¡ °üÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù. ÅØ½ºÆ® ÃøÁ¤Àº µð¹ÙÀ̽ºÀÇ ÇØ»óµµ¿¡ ÀÇÇØ Á¶±Ý ´Þ¶ó, ¿¡Àϸ®¾î¡ Á¦°ÅµîÀÇ ¼Ó¼º¿¡ µû¶ó¼ ´Ù¸£´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â TextLayout¿Í
»ç¿ëÀÚ
°ø°£ÀÇ »çÀÌÀÇ À̵¿Àº ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù
public TextLayout(AttributedCharacterIterator text,
FontRenderContext frc)
TextLayout¸¦ ±¸ÃàÇÕ´Ï´Ù.
¹Ýº¹ÀÚ´Â 1 ´Ü¶ôÀÇ ÅØ½ºÆ®¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ½Ö¹æÇâ ¾Ë°í¸®Áò¿¡¼´Â ´Ü¶ô Àüü°¡ ¿ä±¸µÇ±â ¶§¹®ÀÔ´Ï´Ù.
text - Ç¥½ÃÇÏ´Â ¼½Ä ÷ºÎ ÅØ½ºÆ®frc - ÅØ½ºÆ®¸¦ Á¤È®ÇÏ°Ô ÃøÁ¤Çϱâ À§Çؼ ÇÊ¿äÇÑ ±×·¡ÇÈ µð¹ÙÀ̽º¿¡ °üÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù. ÅØ½ºÆ® ÃøÁ¤Àº µð¹ÙÀ̽ºÀÇ ÇØ»óµµ¿¡ ÀÇÇØ Á¶±Ý ´Þ¶ó, ¿¡Àϸ®¾î¡ Á¦°ÅµîÀÇ ¼Ó¼º¿¡ µû¶ó¼ ´Ù¸£´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â TextLayout¿Í
»ç¿ëÀÚ
°ø°£ÀÇ »çÀÌÀÇ À̵¿Àº ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù| ¸Þ¼µåÀÇ »ó¼¼ |
|---|
protected Object clone()
TextLayout
º¹»çº»À» ÀÛ¼ºÇÕ´Ï´Ù.
Object ³»ÀÇ clone Cloneable public TextLayout getJustifiedLayout(float justificationWidth)
TextLayout
º¹»çº»À» ÀÛ¼ºÇÕ´Ï´Ù.
ÀÌ TextLayoutÀÌ À̹Ì
Çà °¡Áö·±È÷ ÇÏ°í µÇ°í ÀÖ´Â °æ¿ì´Â ¿¹¿Ü°¡ ¹ß»ý µË´Ï´Ù. ÀÌ TextLayout °´Ã¼ÀÇ Çà °¡Áö·±È÷ ÇÏ°í ºñÀ²ÀÌ Á¦·ÎÀÇ °æ¿ì, ÀÌ TextLayout °ú µ¿ÀÏÇÑ TextLayoutÀÌ ¸®Åϵ˴ϴÙ
.
justificationWidth - Çà °¡Áö·±È÷ Çϰí Çϱâ À§Çؼ »ç¿ëÇÏ´Â Æø. ÃÖ¼±ÀÇ °á°ú¸¦ ¾ò±â À§Çؼ´Â ÇàÀÇ ÇöÀçÀÇ À¯È¿Æø°úÀÇ Â÷ÀÌ´Â ÀÛÀº °ÍÀÌ ÁÁ´Ù
TextLayout
Error - ÀÌ ·¹À̾ƿôÀÌ À̹Ì
Çà °¡Áö·±È÷ ÇÏ°í µÇ°í ÀÖ´Â °æ¿ì, Error°¡ Throw µÈ´Ùprotected void handleJustify(float justificationWidth)
Äڵ忡 µû¶ó¼´Â ·¹À̾ƿôÀÇ ºÒº¯¼º¿¡ ÀÇÁ¸µÈ °æ¿ì°¡ ÀÖ½À´Ï´Ù. »çºêÅ©¶ó»ç´Â ÀÌ ¸Þ¼µå¸¦ Á÷Á¢ È£ÃâÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, getJustifiedLayout¸¦ È£ÃâÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. getJustifiedLayout´Â ÀÌ ·¹À̾ƿôÀÇ º¹Á¦¿¡ ´ëÇØ¼ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇϹǷΠ¿øÀÇ ·¹À̾ƿôÀº º¸Á¸µË´Ï´Ù.
justificationWidth - Çà °¡Áö·±È÷ Çϰí Çϱâ À§Çؼ »ç¿ëÇÏ´Â Æø. ÃÖ¼±ÀÇ °á°ú¸¦ ¾ò±â À§Çؼ´Â ÇàÀÇ ÇöÀçÀÇ À¯È¿Æø°úÀÇ Â÷ÀÌ´Â ÀÛÀº °ÍÀÌ ÁÁÀºgetJustifiedLayout(float) public byte getBaseline()
TextLayout
baseline¸¦ ¸®ÅÏÇÕ´Ï´Ù. baseline´Â Font·Î
Á¤ÀǵǴ °ª (roman, centered, hanging)ÀÇ 1°³
ÀÔ´Ï´Ù. ¾Æ¼¾Æ® ¹× µð ¼¾Æ®´Â ÀÌ baseline¸¦ ±âÁØÀ¸·Î ÇÕ´Ï´Ù. baselineOffsetsµµ ÀÌ baseline¸¦ ±âÁØÀ¸·Î ÇÕ´Ï´Ù.
TextLayout
baselinegetBaselineOffsets(),
Font public float[] getBaselineOffsets()
TextLayout·Î
»ç¿ëµÇ´Â baselineÀÇ ¿ÀÇÁ¼Â(offset) ¹è¿À» ¸®ÅÏÇÕ´Ï´Ù.
ÀÌ ¹è¿Àº, Font·Î
Á¤ÀǵǴ °ª (roman, centered, hanging)ÀÇ 1°³
·Î À妽º ºÙÀÌ°í µË´Ï´Ù. ÀÌ·¯ÇÑ °ªÀº ÀÌ TextLayout °´Ã¼ÀÇ baseline¸¦ ±âÁØÀ¸·Î ÇÕ´Ï´Ù. ±× ¶§¹®¿¡
getBaselineOffsets[getBaseline()] == 0 ÀÌ µË´Ï´Ù. ¿ÀÇÁ¼Â(offset)¸¦ TextLayout °´Ã¼ÀÇ baselineÀÇ À§Ä¡¿¡ °¡»êÇϸé, »õ·Î¿î baselineÀÇ À§Ä¡¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
TextLayout¿¡ »ç¿ëµÇ´Â baseline¸¦ Æ÷ÇÔÇÏ´Â ¿ÀÇÁ¼Â(offset) ¹è¿getBaseline(),
Font public float getAdvance()
TextLayout
À¯È¿³ÐÀ̸¦ ¸®ÅÏÇÕ´Ï´Ù. À¯È¿ÆøÀº ÇàÀÇ ¹æÇâÀ¸·Î ÃøÁ¤ÇÑ, ¿øÁ¡¿¡¼ ¿ì´Ü (ÇÏ´Ü)ÀÇ ¹®ÀÚÀÇ À¯È¿Æø±îÁöÀÇ °Å¸®ÀÔ´Ï´Ù.
TextLayout
À¯È¿Æøpublic float getVisibleAdvance()
TextLayout
À¯È¿³ÐÀ̸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸»¹ÌÀÇ °ø¹éÀº Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.
TextLayout
¸»¹ÌÀÇ °ø¹éÀ» Á¦¿ÜÇÑ À¯È¿ÆøgetAdvance() public float getAscent()
TextLayout
¾Æ¼¾Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¾Æ¼¾Æ®´Â TextLayout À§ ( ¿À¸¥ÂÊ)·ÎºÎÅÍ baseline±îÁöÀÇ °Å¸®ÀÔ´Ï´Ù. ÀÌ °Å¸®´Â Ç×»ó Á¤ÀÇ °ª ¶Ç´Â Á¦·ÎÀÔ´Ï´Ù. ¾Æ¼¾Æ®´Â »ó ÷ºÎ ÅØ½ºÆ®¸¦ Æ÷ÇÔÇϱâ À§Çؼ ÃæºÐÇÑ Å©±âÀ̸ç, °¢ ±×·¡ÇÁ
ÀÇ ¾Æ¼¾Æ®, ¿ÀÇÁ¼Â(offset) ¹× baselineÀÇ ÇÕ°èÀÇ ÃÖ´ë°ª
ÀÔ´Ï´Ù.
TextLayout
¾Æ¼¾Æ®public float getDescent()
TextLayout
µð ¼¾Æ®¸¦ ¸®ÅÏÇÕ´Ï´Ù. µð ¼¾Æ®´Â baseline·ÎºÎÅÍ TextLayout ¾Æ·¡ (¿ÞÂÊ)±îÁöÀÇ °Å¸®ÀÔ´Ï´Ù. ÀÌ °Å¸®´Â Ç×»ó Á¤ÀÇ °ª ¶Ç´Â Á¦·ÎÀÔ´Ï´Ù. µð ¼¾Æ®´Â ÇϺγª¹« ÅØ½ºÆ®¸¦ Æ÷ÇÔÇϱâ À§Çؼ ÃæºÐÇÑ Å©±âÀ̸ç, °¢ ±×·¡ÇÁ
ÀÇ µð ¼¾Æ®, ¿ÀÇÁ¼Â(offset) ¹× baselineÀÇ ÇÕ°èÀÇ ÃÖ´ë°ª
ÀÔ´Ï´Ù.
TextLayout
µð ¼¾Æ®public float getLeading()
TextLayout
leading¸¦ ¸®ÅÏÇÕ´Ï´Ù. leading´Â ÀÌ TextLayout ¿ëÀ¸·Î¼ Ãßõ µÇ°í ÀÖ´Â Çà°£ ½ºÆäÀ̽ºÀÔ´Ï´Ù.
leading´Â TextLayout
¸ðµç ±×·¡ÇÁ
º£Å©ÅçÀÇ leading, µð ¼¾Æ® ¹× baseline·ÎºÎÅÍ °è»êµË´Ï´Ù. ¾Ë°í¸®ÁòÀº ´ë·« ´ÙÀ½°ú °°½À´Ï´Ù.
maxD = 0;
maxDL = 0;
for (GlyphVector g in all glyphvectors) { maxD = max(maxD, g.getDescent() + offsets[g.getBaseline()]);
maxDL = max(maxDL, g.getDescent() + g.getLeading() + offsets[g.getBaseline()]);
} return maxDL - maxD;
TextLayout
¼±µÎpublic Rectangle2D getBounds()
TextLayout
°æ°è¸¦ ¸®ÅÏÇÕ´Ï´Ù. °æ°è¿¡´Â TextLayout¸¦ ·»´õ¸µ ÇÒ ¼ö ÀÖ´Â ¸ðµç Çȼ¿ÀÌ Æ÷ÇԵ˴ϴÙ. TextLayout
¾Æ¼¾Æ®, µð ¼¾Æ®, ¿øÁ¡, ¶Ç´Â À¯È¿Æø°ú ¿ÏÀüÇϰԴ ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
TextLayout
°æ°èÀÎ Rectangle2D public boolean isLeftToRight()
TextLayout
º£À̽º°¡ µÉ ¹æÇâÀÌ ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀÇ °æ¿ì¿¡ true¸¦ µ¹·ÁÁÖ°í, ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀÇ °æ¿ì¿¡ false¸¦ ¸®ÅÏÇÕ´Ï´Ù. TextLayout¿¡´Â ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊ (LTR) ¶Ç´Â ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊ (RTL)ÀÇ ¾î´À ÂÊÀΰ¡ÀÇ º£À̽º°¡ µÉ ¹æÇâÀÌ ÀÖ½À´Ï´Ù. º£À̽º°¡ µÉ ¹æÇâÀº ÇàÀÇ ÅØ½ºÆ®ÀÇ ½ÇÁ¦ÀÇ ¹æÇâ (LTR, RTL, ¶Ç´Â È¥ÇÕ)¿¡´Â Á¸ÇÏÁö ¾Ê½À´Ï´Ù. ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀÇ ·¹À̾ƿôÀº µðÆúÆ®¿¡¼´Â Á嫆 °¡Áö·±È÷ Çϰ¡ µË´Ï´Ù. ·¹À̾ƿôÀÌ ÅÇ Ã·ºÎÀÇ Çà¿¡ ³õ¿©Á³À» °æ¿ì, ÅÇÀº ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀÌ µÇ¹Ç·Î ³í¸®ÀûÀ¸·Î ¿¬¼ÓÇÏ´Â ·¹À̾ƿôÀº ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î ¹èÄ¡µË´Ï´Ù. RTL ·¹À̾ƿôÀÇ °æ¿ì´Â ÀÌ ¹Ý´ëÀÔ´Ï´Ù. ÀÌ °æ¿ì
µðÆúÆ®¿¡¼´Â ¿ì´Ü °¡Áö·±È÷ÀÇÇØ ÅÇÀº ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀÌ µË´Ï´Ù.
TextLayout
º£À̽º°¡ µÉ ¹æÇâÀÌ ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falsepublic boolean isVertical()
TextLayoutÀÌ ¼öÁ÷ÀÇ °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
TextLayoutÀÌ ¼öÁ÷ÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falsepublic int getCharacterCount()
TextLayoutÀÌ ³ªÅ¸³»´Â ¹®ÀÚ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
TextLayout
¹®ÀÚ¼ö
public float[] getCaretInfo(TextHitInfo hit,
Rectangle2D bounds)
hit¿¡ ´ëÀÀÇÏ´Â caret¿¡ ´ëÇÑ Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¹è¿ÀÇ ÃÖÃÊÀÇ ¿ä¼Ò´Â caret¿Í baselineÀÇ ±³Á¡ÀÔ´Ï´Ù. ¹è¿ÀÇ 2¹øÂ°ÀÇ ¿ä¼Ò´Â caretÀÇ ¿ª±â¿ï±â (·±/¶óÀÌÁî)ÀÔ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Á¤º¸ À§Çؼ¸¸ »ç¿ëµË´Ï´Ù. caret¸¦ Ç¥½ÃÇÏ·Á¸é,
getCaretShapes¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä.
hit - ÀÌ TextLayout
¹®ÀÚÀÇ È÷Æ®bounds - caret Á¤º¸°¡ ±¸ÃàµÇ´Â °æ°è
getCaretShapes(int, Rectangle2D, TextLayout.CaretPolicy),
Font.getItalicAngle() public float[] getCaretInfo(TextHitInfo hit)
hit¿¡ ´ëÀÀÇÏ´Â caret¿¡ ´ëÇÑ Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â getCaretInfo
°£ÀÌ overloadÀ̸ç, ÀÌ TextLayout
ÀÚ¿¬ °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.
hit - ÀÌ TextLayout
¹®ÀÚÀÇ È÷Æ®
public TextHitInfo getNextRightHit(TextHitInfo hit)
nullÀ»
¸®ÅÏÇÕ´Ï´Ù. È÷Æ® ¹®ÀÚÀÇ À妽º°¡ °æ°è³»¿¡ ¾ø´Â °æ¿ì´Â IllegalArgumentExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù.
hit - ÀÌ ·¹À̾ƿôÀÇ ¹®ÀÚÀÇ È÷Æ®
null
public TextHitInfo getNextRightHit(int offset,
TextLayout.CaretPolicy policy)
nullÀÌ ¸®Åϵ˴ϴÙ
. È÷Æ®´Â ÁöÁ¤µÈ Á¤Ã¥¿¡
ÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °ÇÑ caretÀÇ ¿ìÃø¿¡ ÀÖ½À´Ï´Ù. ¸®ÅϵÈ
È÷Æ®´Â ÁöÁ¤µÈ Á¤Ã¥¿¡
ÇÑ, 2°³ÀÇ È÷Æ®ÀÇ °ÇÑ (ºÐ)ºôÆ®ÀδϴÙ.
offset - ÀÌ TextLayout
»ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout °´Ã¼ÀÇ ¹®ÀÚ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡policy - °ÇÑ caret¸¦ ¼±ÅÃÇϱâ À§Çؼ »ç¿ëµÇ´Â Á¤Ã¥
nullpublic TextHitInfo getNextRightHit(int offset)
nullÀÌ ¸®Åϵ˴ϴÙ
. È÷Æ®´Â µðÆúÆ®ÀÇ Á¤Ã¥¿¡
ÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °ÇÑ caretÀÇ ¿À¸¥ÂÊ¿¡ ÀÖ½À´Ï´Ù. ¸®ÅϵÈ
È÷Æ®´Â µðÆúÆ®ÀÇ Á¤Ã¥¿¡
ÇÑ, 2°³ÀÇ È÷Æ®ÀÇ °ÇÑ (ºÐ)ºôÆ®ÀδϴÙ.
offset - ÀÌ TextLayout
»ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout °´Ã¼ÀÇ ¹®ÀÚ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡
nullpublic TextHitInfo getNextLeftHit(TextHitInfo hit)
nullÀÌ ¸®Åϵ˴ϴÙ
. È÷Æ® ¹®ÀÚÀÇ À妽º°¡ °æ°è³»¿¡ ¾ø´Â °æ¿ì´Â IllegalArgumentException°¡ ¹ß»ý µË´Ï´Ù.
hit - ÀÌ TextLayout
¹®ÀÚÀÇ È÷Æ®
null
public TextHitInfo getNextLeftHit(int offset,
TextLayout.CaretPolicy policy)
nullÀÌ ¸®Åϵ˴ϴÙ
. È÷Æ®´Â ÁöÁ¤µÈ Á¤Ã¥¿¡
ÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °ÇÑ caretÀÇ ¿ÞÂÊ¿¡ ÀÖ½À´Ï´Ù. ¸®ÅϵÈ
È÷Æ®´Â ÁöÁ¤µÈ Á¤Ã¥¿¡
ÇÑ, 2°³ÀÇ È÷Æ®ÀÇ °ÇÑ (ºÐ)ºôÆ®ÀδϴÙ.
offset - ÀÌ TextLayout
»ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout °´Ã¼ÀÇ ¹®ÀÚ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡policy - °ÇÑ caret¸¦ ¼±ÅÃÇϱâ À§Çؼ »ç¿ëµÇ´Â Á¤Ã¥
nullpublic TextHitInfo getNextLeftHit(int offset)
nullÀÌ ¸®Åϵ˴ϴÙ
. È÷Æ®´Â µðÆúÆ®ÀÇ Á¤Ã¥¿¡
ÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °ÇÑ caretÀÇ ¿ÞÂÊÀÔ´Ï´Ù. ¸®ÅϵÈ
È÷Æ®´Â µðÆúÆ®ÀÇ Á¤Ã¥¿¡
ÇÑ, 2°³ÀÇ È÷Æ®ÀÇ °ÇÑ (ºÐ)ºôÆ®ÀδϴÙ.
offset - ÀÌ TextLayout
»ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout °´Ã¼ÀÇ ¹®ÀÚ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡
nullpublic TextHitInfo getVisualOtherHit(TextHitInfo hit)
hit - ÁöÁ¤µÈ È÷Æ®
public Shape getCaretShape(TextHitInfo hit,
Rectangle2D bounds)
Shape¸¦
¸®ÅÏÇÕ´Ï´Ù.
hit - caret¸¦ »ý¼ºÇÏ´Â È÷Æ®bounds - caretÀÇ »ý¼ºÀ¸·Î »ç¿ëÇÏ´Â TextLayout
°æ°è
Shapepublic Shape getCaretShape(TextHitInfo hit)
TextLayout
ÀÚ¿¬ °æ°è³»ÀÇ ÁöÁ¤µÈ È÷Æ®¿¡ ÀÖ´Â caret¸¦ ³ªÅ¸³»´Â Shape¸¦ ¸®ÅÏÇÕ´Ï´Ù.
hit - caret¸¦ »ý¼ºÇÏ´Â È÷Æ®
Shapepublic byte getCharacterLevel(int index)
index¿¡ ÀÖ´Â ¹®ÀÚÀÇ ·¹º§À» ¸®ÅÏÇÕ´Ï´Ù. À妽º -1 ¹× characterCount¿¡´Â ÀÌ TextLayout
±âÀú ·¹º§À» ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù.
index - ·¹º§À» ¾ò´Â ¹®ÀÚÀÇ À妽º
public Shape [] getCaretShapes(int offset,
Rectangle2D bounds,
TextLayout.CaretPolicy policy)
offset - ÀÌ TextLayout
¿ÀÇÁ¼Â(offset)bounds - caret¸¦ È®ÀåÇÏ´Â °æ°èpolicy - ÁöÁ¤ÇÑ CaretPolicy
null
public Shape [] getCaretShapes(int offset,
Rectangle2D bounds)
getCaretShapes
°£ÀÌ overloadÀ̸ç, µðÆúÆ®ÀÇ caret Á¤Ã¥¸¦ »ç¿ëÇÕ´Ï´Ù.
offset - ÀÌ TextLayout
¿ÀÇÁ¼Â(offset)bounds - caret¸¦ È®ÀåÇÏ´Â °æ°è
DEFAULT_CARET_POLICY¿¡
¼ÀÇ Á¤ÀÇ¿¡
ÇÑ, °ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2 »ìÀÇ ÆÐ½ºpublic Shape [] getCaretShapes(int offset)
getCaretShapes
°£ÀÌ overloadÀ̸ç, µðÆúÆ®ÀÇ caret Á¤Ã¥
¹× ÀÌ TextLayout °´Ã¼ÀÇ ÀÚ¿¬ °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.
offset - ÀÌ TextLayout
¿ÀÇÁ¼Â(offset)
DEFAULT_CARET_POLICY¿¡
¼ÀÇ Á¤ÀÇ¿¡
ÇÑ, °ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2 »ìÀÇ ÆÐ½º
public int[] getLogicalRangesForVisualSelection(TextHitInfo firstEndpoint,
TextHitInfo secondEndpoint)
firstEndpoint - ½Ã°¢ÀûÀÎ ¹üÀ§ÀÇ ÇÑÆíÀÇ ´Ü Á¡secondEndpoint - ½Ã°¢ÀûÀÎ ¹üÀ§ÀÇ ÀÌÁ¦(À̹Ì
) ÇÑÆíÀÇ ´Ü Á¡ firstEndpoint º¸´Ù À۾Ƶµ °¡´É
getVisualHighlightShape(TextHitInfo, TextHitInfo, Rectangle2D)
public Shape getVisualHighlightShape(TextHitInfo firstEndpoint,
TextHitInfo secondEndpoint,
Rectangle2D bounds)
bounds ±îÁö È®ÀåÇØ ¸®ÅÏÇÕ´Ï´Ù.
¼±Åà ¹üÀ§¿¡
Á嫆 (»ó´Ü)ÀÇ À§°ªÀÌ Æ÷ÇԵǴ °æ¿ì, ±× ¼±Åà ¹üÀ§´Â bounds
¿ÞÂÊ (À§)±îÁö È®ÀåµË´Ï´Ù. ±× ¼±Åà ¹üÀ§¿¡ ¿ì´Ü (ÇÏ´Ü)ÀÇ À§°ªÀÌ Æ÷ÇԵǴ °æ¿ì, ¼±Åà ¹üÀ§´Â °æ°èÀÇ ¿À¸¥ÂÊ (¾Æ·¡)±îÁö È®ÀåµË´Ï´Ù. ¼±Åà ¹üÀ§ÀÇ ³ôÀÌ (¼öÁ÷¼±»óÀÇ Æø)´Â Ç×»ó bounds ±îÁö È®ÀåµË´Ï´Ù.
¼±Åà ¹üÀ§´Â Ç×»ó ¿¬¼ÓÇϰí ÀÖ½À´Ï´Ù¸¸, È¥ÇÕ ¹æÇâ ÅØ½ºÆ®ÀÇ ÇàÀÇ °æ¿ì, ³í¸®ÀûÀ¸·Î ¼±ÅÃµÈ ÅØ½ºÆ®´Â ºÒ¿¬¼ÓÀÌ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¼±ÅÃµÈ ÅØ½ºÆ®ÀÇ ³í¸®ÀûÀÎ ¹üÀ§´Â getLogicalRangesForVisualSelectionÀ»
»ç¿ëÇØ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î
¡¸ABCdef¡¹¶ó°í ÇÏ´Â ÅØ½ºÆ®¸¦ ¿¹¿¡ »ý°¢ÇØ º¸°Ú½À´Ï´Ù. ´ë¹®ÀÚ´Â ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀÇ ÅØ½ºÆ®¸¦ ³ªÅ¸³», ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀÇ ÇàÀ¸·Î ·»´õ¸µ µÇ¾î ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§´Â 0L ( ¡¸A¡¹ÀÇ ¸®µù ¿§Áö)¿¡¼ 3T ( ¡¸d¡¹ÀÇ Æ®·¹ÀÌ ¸µ ¿§Áö)ÀÔ´Ï´Ù. ÀÌ ÅØ½ºÆ®´Â ´ÙÀ½°ú °°ÀÌ Ç¥½ÃµË´Ï´Ù. ¹ØÁ٠÷ºÎ º¼µåÀÇ ¿µ¿ªÀº ¼±Åà ¹üÀ§¸¦ ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.
defCBA³í¸®ÀûÀÎ ¼±Åà ¹üÀ§´Â 0 ~ 3, 4 ~ 6 (ABC, ef)ÀÔ´Ï´Ù. ¿Ö³ÄÇϸé, ½Ã°¢ÀûÀ¸·Î ¿¬¼ÓÇÑ ÅØ½ºÆ®´Â ³í¸®ÀûÀ̰Դ ºÒ¿¬¼ÓÀ̱⠶§¹®ÀÔ´Ï´Ù. ¶Ç, ·¹À̾ƿôÀÇ ¿ì´ÜÀÇ À§Ä¡ ( ¡¸A¡¹ÀÇ ¿ìÃø)°¡ ¼±Åõǰí ÀÖÀ¸¹Ç·Î ¼±Åà ¹üÀ§´Â °æ°èÀÇ ¿À¸¥ÂʱîÁö È®ÀåµË´Ï´Ù.
firstEndpoint - ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§ÀÇ ÇÑÆíÀÇ ´Ü Á¡secondEndpoint - ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§ÀÇ ÀÌÁ¦(À̹Ì
) ÇÑÆíÀÇ ´Ü Á¡bounds - ¼±Åà ¹üÀ§°¡ È®ÀåµÇ´Â °æ°èÀÇ ±¸Çü
ShapegetLogicalRangesForVisualSelection(TextHitInfo, TextHitInfo),
getLogicalHighlightShape(int, int, Rectangle2D)
public Shape getVisualHighlightShape(TextHitInfo firstEndpoint,
TextHitInfo secondEndpoint)
Shape¸¦, °æ°è±îÁö È®ÀåÇØ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â getVisualHighlightShape
°£ÀÌ overloadÀ̸ç, ÀÌ TextLayout
ÀÚ¿¬ °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.
firstEndpoint - ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§ÀÇ ÇÑÆíÀÇ ´Ü Á¡secondEndpoint - ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§ÀÇ ÀÌÁ¦(À̹Ì
) ÇÑÆíÀÇ ´Ü Á¡
Shape
public Shape getLogicalHighlightShape(int firstEndpoint,
int secondEndpoint,
Rectangle2D bounds)
Shape¸¦, ÁöÁ¤µÈ bounds ±îÁö È®ÀåÇØ ¸®ÅÏÇÕ´Ï´Ù.
¼±Åà ¹üÀ§¿¡ ÃÖÃÊÀÇ ³í¸® ¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì, ±× ¼±Åà ¹üÀ§´Â ÀÌ TextLayout
¼±µÎÀÇ ¾ÕÀÇ bounds
ºÎºÐ±îÁö È®ÀåµË´Ï´Ù. ¼±Åà ¹üÀ§¿¡ ¸¶Áö¸· ³í¸® ¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì, ±× ¼±Åà ¹üÀ§´Â ÀÌ TextLayout
¸¶Áö¸· ³ª¸ÓÁöÀÇ bounds
ºÎºÐ±îÁö È®ÀåµË´Ï´Ù. ¼±Åà ¹üÀ§ÀÇ ³ôÀÌ (¼öÁ÷¼±»óÀÇ Æø)´Â Ç×»ó bounds ±îÁö È®ÀåµË´Ï´Ù.
È¥ÇÕ ¹æÇâ ÅØ½ºÆ®ÀÇ ÇàÀÇ °æ¿ì, ¼±Åà ¹üÀ§°¡ ºÒ¿¬¼ÓÀÌ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¼±µÎ¿Í ¸®¹ÔÆ®ÀÇ »çÀÌÀÇ ³í¸®ÀûÀÎ ¹üÀ§¿¡ À§Ä¡ÇÏ´Â ¹®ÀÚ¸¸ÀÌ ¼±ÅõǾî ÀÖ´Â °Íó·³ º¸ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î
¡¸ABCdef¡¹¶ó°í ÇÏ´Â ÅØ½ºÆ®¸¦ ¿¹¿¡ »ý°¢ÇØ º¸°Ú½À´Ï´Ù. ´ë¹®ÀÚ´Â ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀÇ ÅØ½ºÆ®¸¦ ³ªÅ¸³», ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀÇ ÇàÀ¸·Î ·»´õ¸µ µÇ¾î ³í¸®ÀûÀÎ ¼±Åà ¹üÀ§´Â 0 ~ 4 (ABCd)ÀÔ´Ï´Ù. ÅØ½ºÆ®´Â ´ÙÀ½°ú °°ÀÌ Ç¥½ÃµË´Ï´Ù. ¼±Åà ¹üÀ§´Â º¼µå·Î Ç¥½ÃµÇ¾î È®Àå ºÎºÐÀº ¹ØÁٷΠǥ½ÃµË´Ï´Ù.
defCBA¼±Åà ¹üÀ§´Â ºÒ¿¬¼ÓÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â ¼±ÅÃµÈ ¹®ÀÚ°¡ ½Ã°¢ÀûÀ¸·Î ºÒ¿¬¼ÓÀ̱⠶§¹®ÀÔ´Ï´Ù. ¶Ç, ¼±Åà ¹üÀ§¿¡ ÃÖÃÊÀÇ ³í¸® ¹®ÀÚ (A)°¡ Æ÷ÇԵDZ⠶§¹®¿¡ ¼±Åà ¹üÀ§´Â ·¹À̾ƿôÀÇ ¼±µÎº¸´Ù ÀüÀÇ
bounds
ºÎºÐ±îÁö È®ÀåµË´Ï´Ù. ÀÌ °æ¿ì ( ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀÇ Çà)´Â bounds
¿À¸¥ÂÊÀÇ ºÎºÐÀÔ´Ï´Ù.
firstEndpoint - ¼±ÅÃÇÏ´Â ¹®ÀÚÀÇ ¹üÀ§ÀÇ ´Ü Á¡secondEndpoint - ¼±ÅÃÇÏ´Â ¹®ÀÚÀÇ ¹üÀ§ÀÇ ÀÌÁ¦(À̹Ì
) ÇÑÆíÀÇ ´Ü Á¡ firstEndpoint º¸´Ù À۾Ƶµ °¡´É. min(firstEndpoint, secondEndpoint)ÀÇ ¹®ÀÚ´Â ¹üÀ§¿¡ Æ÷ÇÔµÇÁö¸¸, max(firstEndpoint, secondEndpoint)´Â ¹üÀ§·ÎºÎÅÍ Á¦¿ÜµÇ´Âbounds - ¼±Åà ¹üÀ§°¡ È®ÀåµÇ´Â °æ°èÀÇ ±¸Çü
getVisualHighlightShape(TextHitInfo, TextHitInfo, Rectangle2D)
public Shape getLogicalHighlightShape(int firstEndpoint,
int secondEndpoint)
Shape¸¦, ÀÌ TextLayout
ÀÚ¿¬ °æ°è±îÁö È®ÀåÇØ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â getLogicalHighlightShape
°£ÀÌ overloadÀ̸ç, ÀÌ TextLayout
ÀÚ¿¬ °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.
firstEndpoint - ¼±ÅÃÇÏ´Â ¹®ÀÚÀÇ ¹üÀ§ÀÇ ´Ü Á¡secondEndpoint - ¼±ÅÃÇÏ´Â ¹®ÀÚÀÇ ¹üÀ§ÀÇ ÀÌÁ¦(À̹Ì
) ÇÑÆíÀÇ ´Ü Á¡ firstEndpoint º¸´Ù À۾Ƶµ °¡´É. min(firstEndpoint, secondEndpoint)ÀÇ ¹®ÀÚ´Â ¹üÀ§¿¡ Æ÷ÇÔµÇÁö¸¸, max(firstEndpoint, secondEndpoint)´Â ¹üÀ§·ÎºÎÅÍ Á¦¿ÜµÈ´Ù
Shape
public Shape getBlackBoxBounds(int firstEndpoint,
int secondEndpoint)
firstEndpoint - ¹®ÀÚÀÇ ¹üÀ§ÀÇ ÇÑÆíÀÇ ´Ü Á¡secondEndpoint - ¹®ÀÚÀÇ ¹üÀ§ÀÇ ÀÌÁ¦(À̹Ì
) ÇÑÆíÀÇ ´Ü Á¡ firstEndpoint º¸´Ù À۾Ƶµ °¡´É
ÆÐ½º
public TextHitInfo hitTestChar(float x,
float y,
Rectangle2D bounds)
TextHitInfo¸¦ ¸®ÅÏÇÕ´Ï´Ù. TextLayout
°æ°èÀÇ ¿ÜÃøÀÇ ÁÂÇ¥´Â ÇàÀÇ ¹®ÀÚÀÇ À§Ä¡¿¡ °ü°è¾øÀÌ, ÃÖÃÊÀÇ ³í¸® ¹®ÀÚÀÇ ¸®µù ¿§Áö, ¶Ç´Â ¸¶Áö¸· ³í¸® ¹®ÀÚÀÇ Æ®·¹ÀÌ ¸µ ¿§ÁöÀÇ ¾î´À ÂÊÀÎÁö ÀûÀýÇÑ (ºÐ)ÆíÀÇ È÷Æ®¿¡ ´ëÀÀÇÕ´Ï´Ù. baseline¿¡ µû¸¥ ¹æÇ⸸ÀÌ, ÀÌ Æò°¡¿¡ »ç¿ëµË´Ï´Ù.
x - ÀÌ TextLayout
¿øÁ¡À¸·ÎºÎÅÍÀÇ x ¿ÀÇÁ¼Â(offset)y - ÀÌ TextLayout
¿øÁ¡À¸·ÎºÎÅÍÀÇ y ¿ÀÇÁ¼Â(offset)bounds - TextLayout
°æ°è
public TextHitInfo hitTestChar(float x,
float y)
TextHitInfo¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â hitTestChar
°£ÀÌ overloadÀ̸ç, ÀÌ TextLayout
ÀÚ¿¬½º·¯¿î °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.
x - ÀÌ TextLayout
¿øÁ¡À¸·ÎºÎÅÍÀÇ x ¿ÀÇÁ¼Â(offset)y - ÀÌ TextLayout
¿øÁ¡À¸·ÎºÎÅÍÀÇ y ¿ÀÇÁ¼Â(offset)
public int hashCode()
TextLayout
ÇØ½Ã Äڵ带 ¸®ÅÏÇÕ´Ï´Ù.
Object ³»ÀÇ hashCode TextLayout
ÇØ½Ã ÄÚµåObject.equals(java.lang.Object),
Hashtable public boolean equals(Object obj)
ObjectÀÌ TextLayout °´Ã¼·Î ÁöÁ¤µÈ ObjectÀÌ ÀÌ TextLayout¿Í
µ¿ÀÏÇÑ °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
Object ³»ÀÇ equals obj - µ¿ÀÏÇÑÁö ¾î¶²Áö°¡ ÆÇÁ¤µÇ´Â Object
ObjectÀÌ ÀÌ TextLayout¿Í
µ¿ÀÏÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â falseObject.hashCode(),
Hashtable public boolean equals(TextLayout rhs)
true¸¦ ¸®ÅÏÇÕ´Ï´Ù. 2°³ÀÇ ·¹À̾ƿôÀº ±×°ÍµéÀÌ °°Àº ¼ø¼·Î °°Àº ±×·¡ÇÁ
º£Å©ÅçÀ» Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì¿¡ µ¿ÀÏÇØÁý´Ï´Ù.
rhs - ÀÌ TextLayout¿Í
ºñ±³ÇÏ´Â TextLayout
TextLayout ÀÌ ÀÌ TextLayout¿Í
µ¿ÀÏÇÑ °æ¿ì´Â truepublic String toString()
TextLayout
µð¹ö±× Á¤º¸¸¦ ¸®ÅÏÇÕ´Ï´Ù.
Object ³»ÀÇ toString TextLayout
textLine¸¦ ³ªÅ¸³»´Â String
public void draw(Graphics2D g2,
float x,
float y)
Graphics2D ÄÁÅØ½ºÆ®
ÀÇ ÁöÁ¤µÈ À§Ä¡¿¡ ÀÌ TextLayout¸¦ ·»´õ¸µ ÇÕ´Ï´Ù. ·¹À̾ƿôÀÇ ¿øÁ¡Àº x, y ÀÔ´Ï´Ù. ·»´õ¸µ´Â ÀÌ Á¤µµÄ¡ÀÇ getBounds() ³»ÀÇ ÀÓÀÇÀÇ Á¡¿¡ Á¢ÇÕ´Ï´Ù. g2´Â º¯°æµÇÁö ¾Ê½À´Ï´Ù.
g2 - ·¹À̾ƿôÀÇ ·»´õ¸µÃ³ÀÇ Graphics2D ÄÁÅØ½ºÆ®
x, y - ÀÌ TextLayout
¿øÁ¡ÀÇ ÁÂÇ¥getBounds() public Shape getOutline(AffineTransform tx)
TextLayout
À±°ûÀ» ³ªÅ¸³»´Â Shape¸¦ ¸®ÅÏÇÕ´Ï´Ù.
tx - ÀÌ TextLayout
À±°û¿¡ Àû¿ëÇÏ´Â ÀÓÀÇ ÁöÁ¤ AffineTransform
TextLayout
À±°ûÀÎ Shape
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
| °³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.