|
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
- ÅØ½ºÆ®ÀÇ ¼½ÄÀ» ¼³Á¤Çϱâ À§Çؼ »ç¿ëµÇ´Â Font
frc
- ÅØ½ºÆ®¸¦ Á¤È®ÇÏ°Ô ÃøÁ¤Çϱâ À§Çؼ ÇÊ¿äÇÑ ±×·¡ÇÈ µð¹ÙÀ̽º¿¡ °üÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù. ÅØ½ºÆ® ÃøÁ¤Àº µð¹ÙÀ̽ºÀÇ ÇØ»óµµ¿¡ ÀÇÇØ Á¶±Ý ´Þ¶ó, ¿¡Àϸ®¾î¡ Á¦°ÅµîÀÇ ¼Ó¼º¿¡ µû¶ó¼ ´Ù¸£´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â 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
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
public boolean isVertical()
TextLayout
ÀÌ ¼öÁ÷ÀÇ °æ¿ì¿¡ true
¸¦ ¸®ÅÏÇÕ´Ï´Ù.
TextLayout
ÀÌ ¼öÁ÷ÀÇ °æ¿ì´Â true
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
public 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¸¦ ¼±ÅÃÇϱâ À§Çؼ »ç¿ëµÇ´Â Á¤Ã¥
null
public TextHitInfo getNextRightHit(int offset)
null
ÀÌ ¸®Åϵ˴ϴÙ
. È÷Æ®´Â µðÆúÆ®ÀÇ Á¤Ã¥¿¡
ÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °ÇÑ caretÀÇ ¿À¸¥ÂÊ¿¡ ÀÖ½À´Ï´Ù. ¸®ÅϵÈ
È÷Æ®´Â µðÆúÆ®ÀÇ Á¤Ã¥¿¡
ÇÑ, 2°³ÀÇ È÷Æ®ÀÇ °ÇÑ (ºÐ)ºôÆ®ÀδϴÙ.
offset
- ÀÌ TextLayout
»ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout
°´Ã¼ÀÇ ¹®ÀÚ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡
null
public 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¸¦ ¼±ÅÃÇϱâ À§Çؼ »ç¿ëµÇ´Â Á¤Ã¥
null
public TextHitInfo getNextLeftHit(int offset)
null
ÀÌ ¸®Åϵ˴ϴÙ
. È÷Æ®´Â µðÆúÆ®ÀÇ Á¤Ã¥¿¡
ÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °ÇÑ caretÀÇ ¿ÞÂÊÀÔ´Ï´Ù. ¸®ÅϵÈ
È÷Æ®´Â µðÆúÆ®ÀÇ Á¤Ã¥¿¡
ÇÑ, 2°³ÀÇ È÷Æ®ÀÇ °ÇÑ (ºÐ)ºôÆ®ÀδϴÙ.
offset
- ÀÌ TextLayout
»ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout
°´Ã¼ÀÇ ¹®ÀÚ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡
null
public TextHitInfo getVisualOtherHit(TextHitInfo hit)
hit
- ÁöÁ¤µÈ È÷Æ®
public Shape getCaretShape(TextHitInfo hit, Rectangle2D bounds)
Shape
¸¦
¸®ÅÏÇÕ´Ï´Ù.
hit
- caret¸¦ »ý¼ºÇÏ´Â È÷Æ®bounds
- caretÀÇ »ý¼ºÀ¸·Î »ç¿ëÇÏ´Â TextLayout
°æ°è
Shape
public Shape getCaretShape(TextHitInfo hit)
TextLayout
ÀÚ¿¬ °æ°è³»ÀÇ ÁöÁ¤µÈ È÷Æ®¿¡ ÀÖ´Â caret¸¦ ³ªÅ¸³»´Â Shape
¸¦ ¸®ÅÏÇÕ´Ï´Ù.
hit
- caret¸¦ »ý¼ºÇÏ´Â È÷Æ®
Shape
public 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
- ¼±Åà ¹üÀ§°¡ È®ÀåµÇ´Â °æ°èÀÇ ±¸Çü
Shape
getLogicalRangesForVisualSelection(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
, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
Object.hashCode()
,
Hashtable
public boolean equals(TextLayout rhs)
true
¸¦ ¸®ÅÏÇÕ´Ï´Ù. 2°³ÀÇ ·¹À̾ƿôÀº ±×°ÍµéÀÌ °°Àº ¼ø¼·Î °°Àº ±×·¡ÇÁ
º£Å©ÅçÀ» Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì¿¡ µ¿ÀÏÇØÁý´Ï´Ù.
rhs
- ÀÌ TextLayout
¿Í
ºñ±³ÇÏ´Â TextLayout
TextLayout
ÀÌ ÀÌ TextLayout
¿Í
µ¿ÀÏÇÑ °æ¿ì´Â true
public 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 µµ ÂüÁ¶ÇϽʽÿÀ.