JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.awt.font
Ŭ·¡½º TextLayout

java.lang.Object 
  |
  +--java.awt.font.TextLayout
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Cloneable

public final class TextLayout
extends Object
implements Cloneable

TextLayout ´Â ¼­½Ä ÷ºÎ ij¸¯ÅÍ µ¥ÀÌÅÍÀÇ ºÒº¯ÀÇ ±×·¡ÇÈ Ç¥ÇöÀÔ´Ï´Ù.

ÀÌ Å¬·¡½º´Â ´ÙÀ½ÀÇ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.

TextLayout ¿ÀºêÁ§Æ®´Â draw ¸Þ¼Òµå¸¦ »ç¿ëÇØ Ç¥Çö ÇÒ ¼ö ÀÖ½À´Ï´Ù.

TextLayout ´Â Á÷Á¢ ¶Ç´Â LineBreakMeasurer ¸¦ °³ÀÔ½ÃÄÑ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. Á÷Á¢ ÀÛ¼ºµÇ´Â °æ¿ì, ¼Ò½º ÅØ½ºÆ®´Â 1 °³ÀÇ ´Ü¶ôÀ» ³ªÅ¸³À´Ï´Ù. LineBreakMeasurer ¿¡¼­´Â ƯÁ¤ÀÇ Æø¿¡ µé¾î°¡´Â º¹¼öÀÇ Çà¿¡ ¼­½Ä ÷ºÎ ÅØ½ºÆ®¸¦ ºÐÇÒÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº LineBreakMeasurer ÀÇ ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

TextLayout ÀÇ ±¸ÃàÀº ³í¸®ÀûÀ̰Դ ´ÙÀ½ÀÇ ¼ø¼­·Î ÇàÇØÁý´Ï´Ù.

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 ·Î È÷Æ®¸¦ Å×½ºÆ®ÇÕ´Ï´Ù (ƯÁ¤ÀÇ ±×·¡ÇÈ À§Ä¡¿¡ Àִ ij¸¯Å͸¦ ÆÇÁ¤ÇÑ´Ù).

   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¸¯ÅÍ ¶óÀο¡ ´ëÀÀÇÏ´Â ¼±Åà ¹üÀ§¸¦ Ç¥Çö ÇÕ´Ï´Ù. ¼±ÅÃµÈ area´Â ½Ã°¢ÀûÀ¸·Î ¿¬¼ÓÇÏÁö ¾ÊÀº °æ¿ì°¡ ÀÖ½À´Ï´Ù.

   // 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

ÁßøµÈ Ŭ·¡½ºÀÇ °³¿ä
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  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)
          ÁöÁ¤µÈ ¹üÀ§¿¡ ÀÖ´Â ¸ðµç ij¸¯ÅÍÀÇ ºí·¢ ¹Ú½º °æ°è¸¦ µ¹·ÁÁÝ´Ï´Ù.
 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 °¡ ³ªÅ¸³»´Â ij¸¯Åͼö¸¦ µ¹·ÁÁÝ´Ï´Ù.
 byte getCharacterLevel (int index)
          index ¿¡ Àִ ij¸¯ÅÍÀÇ ·¹º§À» µ¹·ÁÁÝ´Ï´Ù.
 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
 

ÇʵåÀÇ »ó¼¼

DEFAULT_CARET_POLICY

public static final TextLayout.CaretPolicy  DEFAULT_CARET_POLICY
ÀÌ CaretPolicy ´Â Æú¸®½Ã°¡ Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡ »ç¿ëµË´Ï´Ù. ÀÌ Æú¸®½Ã¿¡¼­´Â ¹æÇâÀÌ ÇàÀÇ ¹æÇâ°ú °°Àº ij¸¯ÅÍÀÇ È÷Æ®°¡, ¹Ý´ë ¹æÇâÀÇ Ä³¸¯ÅÍÀÇ È÷Æ®º¸´Ù °­ÇØÁý´Ï´Ù. ij¸¯ÅÍÀÇ ¹æÇâÀÌ °°Àº °æ¿ì, ij¸¯ÅÍÀÇ ¸®µù ¿§ÁöÀÇ È÷Æ®°¡, ij¸¯ÅÍÀÇ Æ®·¹ÀÌ ¸µ ¿§ÁöÀÇ È÷Æ®º¸´Ù °­ÇØÁý´Ï´Ù.

»ý¼ºÀÚÀÇ »ó¼¼

TextLayout

public TextLayout(String  string,
                  Font  font,
                  FontRenderContext  frc)
String ¹× Font ·ÎºÎÅÍ TextLayout ¸¦ ±¸ÃàÇÕ´Ï´Ù. ¸ðµç ÅØ½ºÆ®´Â ÁöÁ¤µÈ Font ¸¦ »ç¿ëÇØ ¼­½ÄÀÌ ¼³Á¤µË´Ï´Ù.

String ¿¡´Â 1 ´Ü¶ôÀÇ ÅØ½ºÆ®¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ½Ö¹æÇâ ¾Ë°í¸®Áò¿¡¼­´Â ´Ü¶ô Àüü°¡ ¿ä±¸µÇ±â ¶§¹®ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
string - Ç¥½ÃÇÏ´Â ÅØ½ºÆ®
font - ÅØ½ºÆ®ÀÇ ¼­½ÄÀ» ¼³Á¤Çϱâ À§Çؼ­ »ç¿ëµÇ´Â Font
frc - ÅØ½ºÆ®¸¦ Á¤È®ÇÏ°Ô ÃøÁ¤Çϱâ À§Çؼ­ ÇÊ¿äÇÑ ±×·¡ÇȽº µð¹ÙÀ̽º¿¡ °üÇÑ Á¤º¸°¡ ÀÖ½À´Ï´Ù. ÅØ½ºÆ® ÃøÁ¤Àº µð¹ÙÀ̽ºÀÇ ÇØ»óµµ¿¡ ÀÇÇØ Á¶±Ý ´Þ¶ó, ¿¡Àϸ®¾î¡ Á¦°ÅµîÀÇ ¼Ó¼º¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â TextLayout ¿Í À¯Àú °ø°£ÀÇ »çÀÌÀÇ À̵¿Àº ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù.

TextLayout

public TextLayout(String  string,
                  Map  attributes,
                  FontRenderContext  frc)
String ¹× ¼Ó¼º ¼¼Æ®·ÎºÎÅÍ TextLayout ¸¦ ±¸ÃàÇÕ´Ï´Ù.

¸ðµç ÅØ½ºÆ®´Â ÁöÁ¤µÈ ¼Ó¼º¿¡ ÀÇÇØ ¼­½ÄÀÌ ¼³Á¤µË´Ï´Ù.

string ¿¡´Â 1 ´Ü¶ôÀÇ ÅØ½ºÆ®¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ½Ö¹æÇâ ¾Ë°í¸®Áò¿¡¼­´Â ´Ü¶ô Àüü°¡ ¿ä±¸µÇ±â ¶§¹®ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
string - Ç¥½ÃÇÏ´Â ÅØ½ºÆ®
attributes - ÅØ½ºÆ®ÀÇ ¼­½ÄÀ» ¼³Á¤Çϱâ À§Çؼ­ »ç¿ëµÇ´Â ¼Ó¼º
frc - ÅØ½ºÆ®¸¦ Á¤È®ÇÏ°Ô ÃøÁ¤Çϱâ À§Çؼ­ ÇÊ¿äÇÑ ±×·¡ÇȽº µð¹ÙÀ̽º¿¡ °üÇÑ Á¤º¸°¡ ÀÖ½À´Ï´Ù. ÅØ½ºÆ® ÃøÁ¤Àº µð¹ÙÀ̽ºÀÇ ÇØ»óµµ¿¡ ÀÇÇØ Á¶±Ý ´Þ¶ó, ¿¡Àϸ®¾î¡ Á¦°ÅµîÀÇ ¼Ó¼º¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â TextLayout ¿Í À¯Àú °ø°£ÀÇ »çÀÌÀÇ À̵¿Àº ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù.

TextLayout

public TextLayout(AttributedCharacterIterator  text,
                  FontRenderContext  frc)
¼­½Ä ÷ºÎ ÅØ½ºÆ®ÀÇ ¹Ýº¹ÀڷκÎÅÍ TextLayout ¸¦ ±¸ÃàÇÕ´Ï´Ù.

¹Ýº¹ÀÚ´Â 1 ´Ü¶ôÀÇ ÅØ½ºÆ®¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ½Ö¹æÇâ ¾Ë°í¸®Áò¿¡¼­´Â ´Ü¶ô Àüü°¡ ¿ä±¸µÇ±â ¶§¹®ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
text - Ç¥½ÃÇÏ´Â ¼­½Ä ÷ºÎ ÅØ½ºÆ®
frc - ÅØ½ºÆ®¸¦ Á¤È®ÇÏ°Ô ÃøÁ¤Çϱâ À§Çؼ­ ÇÊ¿äÇÑ ±×·¡ÇȽº µð¹ÙÀ̽º¿¡ °üÇÑ Á¤º¸°¡ ÀÖ½À´Ï´Ù. ÅØ½ºÆ® ÃøÁ¤Àº µð¹ÙÀ̽ºÀÇ ÇØ»óµµ¿¡ ÀÇÇØ Á¶±Ý ´Þ¶ó, ¿¡Àϸ®¾î¡ Á¦°ÅµîÀÇ ¼Ó¼º¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â TextLayout ¿Í À¯Àú °ø°£ÀÇ »çÀÌÀÇ À̵¿Àº ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù.
¸Þ¼ÒµåÀÇ »ó¼¼

clone

protected Object  clone()
ÀÌ TextLayout ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ clone
¹Ýȯ°ª:
ÀÌ ÀνºÅϽºÀÇ º¹Á¦
°ü·Ã Ç׸ñ:
Cloneable

getJustifiedLayout

public TextLayout  getJustifiedLayout(float justificationWidth)
ÁöÁ¤µÈ Æø¿¡ Çà °¡Áö·±È÷ ÇÏ°í µÈ, ÀÌ TextLayout ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÀÌ TextLayout °¡ ¹ú½á Çà °¡Áö·±È÷ ÇÏ°í µÇ°í ÀÖ´Â °æ¿ì´Â ¿¹¿Ü°¡ ½½·Î¿ì µË´Ï´Ù. ÀÌ TextLayout ¿ÀºêÁ§Æ®ÀÇ Çà °¡Áö·±È÷ ÇÏ°í ºñÀ²ÀÌ Á¦·ÎÀÇ °æ¿ì, ÀÌ TextLayout °ú µ¿ÀÏÇÑ TextLayout °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
justificationWidth - ÇàÀ» Çà °¡Áö·±È÷ Çϰí Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â Æø. ÃÖ¼±ÀÇ °á°ú¸¦ ¾ò±â À§Çؼ­(¶§¹®¿¡)´Â ÇàÀÇ ÇöÀçÀÇ À¯È¿Æø°úÀÇ Â÷ÀÌ´Â ÀÛÀº °ÍÀÌ ÁÁ´Ù
¹Ýȯ°ª:
ÁöÁ¤µÈ Æø¿¡ Çà °¡Áö·±È÷ ÇÏ°í µÈ TextLayout
¿¹¿Ü:
Error - ÀÌ ·¹À̾ƿôÀÌ ¹ú½á Çà °¡Áö·±È÷ ÇÏ°í µÇ°í ÀÖ´Â °æ¿ì, Error °¡ ½½·Î¿ì µÈ´Ù

handleJustify

protected void handleJustify(float justificationWidth)
ÀÌ ·¹À̾ƿôÀ» Çà °¡Áö·±È÷ ÇÕ´Ï´Ù. Çà °¡Áö·±È÷ ÇÏ°í¸¦ Á¦¾îÇϱâ À§Çؼ­ »çºêÅ©¶ó»ç¿¡ ÀÇÇØ ¿À¹ö¶óÀ̵å(override) µË´Ï´Ù (»çºêÅ©¶ó»ç°¡ ÀÖ´Â °æ¿ì). ·¹À̾ƿôÀº ´Ü¶ôÀÇ ¼Ó¼º (¼Ò½º ÅØ½ºÆ®·ÎºÎÅÍ ÆÄ»ý. ·¹À̾ƿô ¼Ó¼º¿¡ ÀÇÇØ µðÆúÆ®·Î ¼³Á¤µÇ´Â °æ¿ì°¡ ÀÖ´Ù)°¡ Á¦·Î ÀÌ¿ÜÀÇ Çà °¡Áö·±È÷ ÇÏ°í ºñÀ²À» ³ªÅ¸³»´Â °æ¿ì¿¡¸¸ Çà °¡Áö·±È÷ ÇÏ°í¸¦ ½Ç½ÃÇÕ´Ï´Ù. ÅØ½ºÆ®´Â ÁöÁ¤µÈ Æø¿¡ Çà °¡Áö·±È÷ ÇÏ°í µË´Ï´Ù. ÇöÀçÀÇ ±¸ÇöÀº Çà °¡Áö·±È÷ ÇÏ°í ÆøÀ» ä¿ì±â À§Çؼ­(¶§¹®¿¡) ÇѱëÆÇÅ©Ãò¿¡À̼ÇÀ̳ª ¸»¹ÌÀÇ °ø¹éµµ Á¶Á¤ÇÕ´Ï´Ù. ·¹À̾ƿôÀº ÀÏ´Ü Çà °¡Áö·±È÷ ÇÏ°í µÈ µÚ´Â Çà °¡Áö·±È÷ ´Ù½Ã ÇÒ ¼ö°¡ ¾ø½À´Ï´Ù.

Äڵ忡 µû¶ó¼­´Â ·¹À̾ƿôÀÇ ºÒº¯¼º¿¡ ÀÇÁ¸ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. »çºêÅ©¶ó»ç´Â ÀÌ ¸Þ¼Òµå¸¦ Á÷Á¢ È£ÃâÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, getJustifiedLayout ¸¦ È£ÃâÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù. getJustifiedLayout ´Â ÀÌ ·¹À̾ƿôÀÇ º¹Á¦¿¡ ´ëÇØ¼­ ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϹǷÎ, ¿øÀÇ ·¹À̾ƿôÀº º¸Á¸µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
justificationWidth - ÇàÀ» Çà °¡Áö·±È÷ Çϰí Çϱâ À§Çؼ­ »ç¿ëÇÏ´Â Æø. ÃÖ¼±ÀÇ °á°ú¸¦ ¾ò±â À§Çؼ­(¶§¹®¿¡)´Â ÇàÀÇ ÇöÀçÀÇ À¯È¿Æø°úÀÇ Â÷ÀÌ´Â ÀÛÀº °ÍÀÌ ÁÁÀº
°ü·Ã Ç׸ñ:
getJustifiedLayout(float)

getBaseline

public byte getBaseline()
ÀÌ TextLayout ÀÇ baseline¸¦ µ¹·ÁÁÝ´Ï´Ù. baseline´Â Font ·Î Á¤ÀǵǴ °ª (roman, centered, hanging)ÀÇ 1 °³ÀÔ´Ï´Ù. ¾Æ¼¾Æ® ¹× µð ¼¾Æ®´Â ÀÌ baseline¸¦ ±âÁØÀ¸·Î ÇÕ´Ï´Ù. baselineOffsets µµ ÀÌ baseline¸¦ ±âÁØÀ¸·Î ÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ baseline
°ü·Ã Ç׸ñ:
getBaselineOffsets() , Font

getBaselineOffsets

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

getAdvance

public float getAdvance()
ÀÌ TextLayout ÀÇ À¯È¿ÆøÀ» µ¹·ÁÁÝ´Ï´Ù. À¯È¿ÆøÀº ÇàÀÇ ¹æÇâÀ¸·Î ÃøÁ¤ÇÑ, ¿øÁ¡¿¡¼­ ¿ì´Ü (ÇÏ´Ü)ÀÇ Ä³¸¯ÅÍÀÇ À¯È¿Æø±îÁöÀÇ °Å¸®ÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ À¯È¿Æø

getVisibleAdvance

public float getVisibleAdvance()
ÀÌ TextLayout ÀÇ À¯È¿ÆøÀ» µ¹·ÁÁÝ´Ï´Ù. ¸»¹ÌÀÇ °ø¹éÀº Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ ¸»¹ÌÀÇ °ø¹éÀ» Á¦¿ÜÇÑ À¯È¿Æø
°ü·Ã Ç׸ñ:
getAdvance()

getAscent

public float getAscent()
ÀÌ TextLayout ÀÇ ¾Æ¼¾Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ¾Æ¼¾Æ®´Â TextLayout À§ ( ¿À¸¥ÂÊ)·ÎºÎÅÍ baseline±îÁöÀÇ °Å¸®ÀÔ´Ï´Ù. ÀÌ °Å¸®´Â Ç×»ó Á¤ÀÇ °ª ¶Ç´Â Á¦·ÎÀÔ´Ï´Ù. ¾Æ¼¾Æ®´Â »ó ÷ºÎ ÅØ½ºÆ®¸¦ ÀúÀåÇϱâ À§Çؼ­ ÃæºÐÇÑ Å©±âÀ̸ç, °¢ ±Û¸®ÇÁ(glyph)ÀÇ ¾Æ¼¾Æ®, ¿ÀÇÁ¼Â(offset), ¹× baselineÀÇ ÇÕ°èÀÇ ÃÖ´ëÄ¡ÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ ¾Æ¼¾Æ®

getDescent

public float getDescent()
ÀÌ TextLayout ÀÇ µð ¼¾Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. µð ¼¾Æ®´Â baseline·ÎºÎÅÍ TextLayout ¾Æ·¡ (¿ÞÂÊ)±îÁöÀÇ °Å¸®ÀÔ´Ï´Ù. ÀÌ °Å¸®´Â Ç×»ó Á¤ÀÇ °ª ¶Ç´Â Á¦·ÎÀÔ´Ï´Ù. µð ¼¾Æ®´Â ÇϺγª¹« ÅØ½ºÆ®¸¦ ÀúÀåÇϱâ À§Çؼ­ ÃæºÐÇÑ Å©±âÀ̸ç, °¢ ±Û¸®ÇÁ(glyph)ÀÇ µð ¼¾Æ®, ¿ÀÇÁ¼Â(offset), ¹× baselineÀÇ ÇÕ°èÀÇ ÃÖ´ëÄ¡ÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ µð ¼¾Æ®

getLeading

public float getLeading()
TextLayout ÀÇ leading¸¦ µ¹·ÁÁÝ´Ï´Ù. leading´Â ÀÌ TextLayout ¿ëÀ¸·Î¼­ Ãßõ µÇ°í ÀÖ´Â Çà°£ ½ºÆäÀ̽ºÀÔ´Ï´Ù.

leading´Â TextLayout ÀÇ ¸ðµç ±Û¸®ÇÁ(glyph)º£Å©ÅçÀÇ 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 ÀÇ ¼±µÎ

getBounds

public Rectangle2D  getBounds()
ÀÌ TextLayout ÀÇ °æ°è¸¦ µ¹·ÁÁÝ´Ï´Ù. °æ°è¿¡´Â TextLayout ¸¦ Ç¥Çö ÇÒ ¼ö ÀÖ´Â ¸ðµç Çȼ¿ÀÌ Æ÷ÇԵ˴ϴÙ. TextLayout ÀÇ ¾Æ¼¾Æ®, µð ¼¾Æ®, ¿øÁ¡, ¶Ç´Â À¯È¿Æø°ú ¿ÏÀüÇϰԴ ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ °æ°èÀÎ Rectangle2D

isLeftToRight

public boolean isLeftToRight()
ÀÌ TextLayout ÀÇ º£À̽º°¡ µÉ ¹æÇâÀÌ ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀÇ °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÖ¾î, ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀÇ °æ¿ì¿¡ false ¸¦ µ¹·ÁÁÝ´Ï´Ù. TextLayout ¿¡´Â ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊ (LTR) ¶Ç´Â ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊ (RTL)ÀÇ ¾î´À ÂÊÀΰ¡ÀÇ º£À̽º°¡ µÉ ¹æÇâÀÌ ÀÖ½À´Ï´Ù. º£À̽º°¡ µÉ ¹æÇâÀº ÇàÀÇ ÅØ½ºÆ®ÀÇ ½ÇÁ¦ÀÇ ¹æÇâ (LTR, RTL, ¶Ç´Â È¥ÇÕ)¿¡´Â ÀÇÁ¸ÇÏÁö ¾Ê½À´Ï´Ù. ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀÇ ·¹À̾ƿôÀº µðÆúÆ®¿¡¼­´Â Á嫆 °¡Áö·±È÷ Çϰ¡ µË´Ï´Ù. ·¹À̾ƿôÀÌ ÅÇ Ã·ºÎÀÇ Çà¿¡ ³õ¿©Á³À» °æ¿ì, ÅÇÀº ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀÌ µÇ¹Ç·Î, ³í¸®ÀûÀ¸·Î ¿¬¼ÓÇÏ´Â ·¹À̾ƿôÀº ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀ¸·Î ¹èÄ¡µË´Ï´Ù. RTL ·¹À̾ƿôÀÇ °æ¿ì´Â ÀÌ ¹Ý´ëÀÔ´Ï´Ù. ÀÌ °æ¿ì, µðÆúÆ®¿¡¼­´Â ¿ì´Ü °¡Áö·±È÷ ÇØ ÅÇÀº ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀÌ µË´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ º£À̽º°¡ µÉ ¹æÇâÀÌ ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

isVertical

public boolean isVertical()
ÀÌ TextLayout °¡ ¼öÁ÷ÀÇ °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout °¡ ¼öÁ÷ÀÇ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false

getCharacterCount

public int getCharacterCount()
ÀÌ TextLayout °¡ ³ªÅ¸³»´Â ij¸¯Åͼö¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ Ä³¸¯Åͼö

getCaretInfo

public float[] getCaretInfo(TextHitInfo  hit,
                            Rectangle2D  bounds)
hit ¿¡ ´ëÀÀÇÏ´Â caret¿¡ ´ëÇÑ Á¤º¸¸¦ µ¹·ÁÁÝ´Ï´Ù. ¹è¿­ÀÇ ÃÖÃÊÀÇ ¿ä¼Ò´Â caret¿Í baselineÀÇ ±³Á¡ÀÔ´Ï´Ù. ¹è¿­ÀÇ 2 ¹øÂ°ÀÇ ¿ä¼Ò´Â caretÀÇ ¿ª±â¿ï±â (·±/¶óÀÌÁî)ÀÔ´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â Á¤º¸ (À») À§Çؼ­¸¸ »ç¿ëµË´Ï´Ù. caret¸¦ Ç¥½ÃÇÏ·Á¸é ,getCaretShapes ¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä.

ÆÄ¶ó¹ÌÅÍ:
hit - ÀÌ TextLayout ÀÇ Ä³¸¯ÅÍÀÇ È÷Æ®
bounds - caret Á¤º¸°¡ ±¸ÃàµÇ´Â °æ°è
¹Ýȯ°ª:
caretÀÇ À§Ä¡¿Í ±â¿ï±â°¡ ÀúÀåµÇ°í ÀÖ´Â 2 ¿ä¼Ò ¹è¿­
°ü·Ã Ç׸ñ:
getCaretShapes(int, Rectangle2D, TextLayout.CaretPolicy) , Font.getItalicAngle()

getCaretInfo

public float[] getCaretInfo(TextHitInfo  hit)
hit ¿¡ ´ëÀÀÇÏ´Â caret¿¡ ´ëÇÑ Á¤º¸¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â getCaretInfo ÀÇ °£ÀÌ overloadÀ̸ç, ÀÌ TextLayout ÀÇ ÀÚ¿¬ °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
hit - ÀÌ TextLayout ÀÇ Ä³¸¯ÅÍÀÇ È÷Æ®
¹Ýȯ°ª:
È÷Æ®¿¡ ´ëÀÀÇÏ´Â caret¿¡ ´ëÇÑ Á¤º¸

getNextRightHit

public TextHitInfo  getNextRightHit(TextHitInfo  hit)
¿À¸¥ÂÊ (ÇÏ) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¹æÇâÀ¸·Î È÷Æ®°¡ ¾ø´Â °æ¿ì´Â null ¸¦ µ¹·ÁÁÝ´Ï´Ù. È÷Æ® ij¸¯ÅÍÀÇ À妽º°¡ °æ°è³»¿¡ ¾ø´Â °æ¿ì´Â IllegalArgumentException °¡ ½½·Î¿ì µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
hit - ÀÌ ·¹À̾ƿôÀÇ Ä³¸¯ÅÍÀÇ È÷Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ È÷Æ®ÀÇ caret¿¡ ´ëÇØ¼­ ¿À¸¥ÂÊ (ÇÏ) ¹æÇâ¿¡ À§Ä¡ÇÏ´Â ´ÙÀ½ÀÇ caretÀÇ È÷Æ®, ¶Ç´Â null

getNextRightHit

public TextHitInfo  getNextRightHit(int offset,
                                   TextLayout.CaretPolicy  policy)
¿À¸¥ÂÊ (ÇÏ) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¹æÇâÀ¸·Î È÷Æ®°¡ ¾ø´Â °æ¿ì´Â null °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. È÷Æ®´Â ÁöÁ¤µÈ Æú¸®½Ã¿¡ ÀÇÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °­ÇÑ caretÀÇ ¿ìÃø¿¡ ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â È÷Æ®´Â ÁöÁ¤µÈ Æú¸®½Ã¿¡ ÀÇÇÑ, 2 °³ÀÇ È÷Æ®ÀÇ °­ÇÑ (ºÐ)ÆíÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
offset - ÀÌ TextLayout ÀÇ »ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout ¿ÀºêÁ§Æ®ÀÇ Ä³¸¯ÅÍ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡
policy - °­ÇÑ caret¸¦ ¼±ÅÃÇϱâ À§Çؼ­ »ç¿ëµÇ´Â Æú¸®½Ã
¹Ýȯ°ª:
ÁöÁ¤µÈ È÷Æ®ÀÇ caret¿¡ ´ëÇØ¼­ ¿À¸¥ÂÊ (ÇÏ) ¹æÇâ¿¡ À§Ä¡ÇÏ´Â ´ÙÀ½ÀÇ caretÀÇ È÷Æ®, ¶Ç´Â null

getNextRightHit

public TextHitInfo  getNextRightHit(int offset)
¿À¸¥ÂÊ (ÇÏ) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¹æÇâÀ¸·Î È÷Æ®°¡ ¾ø´Â °æ¿ì´Â null °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. È÷Æ®´Â µðÆúÆ®ÀÇ Æú¸®½Ã¿¡ ÀÇÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °­ÇÑ caretÀÇ ¿À¸¥ÂÊ¿¡ ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â È÷Æ®´Â µðÆúÆ®ÀÇ Æú¸®½Ã¿¡ ÀÇÇÑ, 2 °³ÀÇ È÷Æ®ÀÇ °­ÇÑ (ºÐ)ÆíÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
offset - ÀÌ TextLayout ÀÇ »ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout ¿ÀºêÁ§Æ®ÀÇ Ä³¸¯ÅÍ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡
¹Ýȯ°ª:
ÁöÁ¤µÈ È÷Æ®ÀÇ caret¿¡ ´ëÇØ¼­ ¿À¸¥ÂÊ (ÇÏ) ¹æÇâ¿¡ À§Ä¡ÇÏ´Â ´ÙÀ½ÀÇ caretÀÇ È÷Æ®, ¶Ç´Â null

getNextLeftHit

public TextHitInfo  getNextLeftHit(TextHitInfo  hit)
¿ÞÂÊ (»ó) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¹æÇâÀ¸·Î È÷Æ®°¡ ¾ø´Â °æ¿ì´Â null °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. È÷Æ® ij¸¯ÅÍÀÇ À妽º°¡ °æ°è³»¿¡ ¾ø´Â °æ¿ì´Â IllegalArgumentException °¡ ½½·Î¿ì µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
hit - ÀÌ TextLayout ÀÇ Ä³¸¯ÅÍÀÇ È÷Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ È÷Æ®ÀÇ caret¿¡ ´ëÇØ¼­ ¿ÞÂÊ (»ó) ¹æÇâ¿¡ À§Ä¡ÇÏ´Â ´ÙÀ½ÀÇ caretÀÇ È÷Æ®, ¶Ç´Â null

getNextLeftHit

public TextHitInfo  getNextLeftHit(int offset,
                                  TextLayout.CaretPolicy  policy)
¿ÞÂÊ (»ó) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¹æÇâÀ¸·Î È÷Æ®°¡ ¾ø´Â °æ¿ì´Â null °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. È÷Æ®´Â ÁöÁ¤µÈ Æú¸®½Ã¿¡ ÀÇÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °­ÇÑ caretÀÇ ¿ÞÂÊ¿¡ ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â È÷Æ®´Â ÁöÁ¤µÈ Æú¸®½Ã¿¡ ÀÇÇÑ, 2 °³ÀÇ È÷Æ®ÀÇ °­ÇÑ (ºÐ)ÆíÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
offset - ÀÌ TextLayout ÀÇ »ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout ¿ÀºêÁ§Æ®ÀÇ Ä³¸¯ÅÍ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡
policy - °­ÇÑ caret¸¦ ¼±ÅÃÇϱâ À§Çؼ­ »ç¿ëµÇ´Â Æú¸®½Ã
¹Ýȯ°ª:
ÁöÁ¤µÈ È÷Æ®ÀÇ caret¿¡ ´ëÇØ¼­ ¿ÞÂÊ (»ó) ¹æÇâ¿¡ À§Ä¡ÇÏ´Â ´ÙÀ½ÀÇ caretÀÇ È÷Æ®, ¶Ç´Â null

getNextLeftHit

public TextHitInfo  getNextLeftHit(int offset)
¿ÞÂÊ (»ó) ¹æÇâÀÇ ´ÙÀ½ÀÇ caretÀÇ È÷Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¹æÇâÀ¸·Î È÷Æ®°¡ ¾ø´Â °æ¿ì´Â null °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. È÷Æ®´Â µðÆúÆ®ÀÇ Æú¸®½Ã¿¡ ÀÇÇÑ, ÁöÁ¤µÈ ¿ÀÇÁ¼Â(offset) À§Ä¡ÀÇ °­ÇÑ caretÀÇ ¿ÞÂÊÀÔ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â È÷Æ®´Â µðÆúÆ®ÀÇ Æú¸®½Ã¿¡ ÀÇÇÑ, 2 °³ÀÇ È÷Æ®ÀÇ °­ÇÑ (ºÐ)ÆíÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
offset - ÀÌ TextLayout ÀÇ »ðÀÔ ¿ÀÇÁ¼Â(offset). 0 º¸´Ù ÀÛÀº °ªÀ̳ª TextLayout ¿ÀºêÁ§Æ®ÀÇ Ä³¸¯ÅÍ Ä«¿îÆ®º¸´Ù Å« °ªÀº ºÒ°¡
¹Ýȯ°ª:
ÁöÁ¤µÈ È÷Æ®ÀÇ caret¿¡ ´ëÇØ¼­ ¿ÞÂÊ (»ó) ¹æÇâ¿¡ À§Ä¡ÇÏ´Â ´ÙÀ½ÀÇ caretÀÇ È÷Æ®, ¶Ç´Â null

getVisualOtherHit

public TextHitInfo  getVisualOtherHit(TextHitInfo  hit)
ÁöÁ¤µÈ È÷Æ®ÀÇ caretÀÇ ¹Ý´ëÃøÀÇ È÷Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
hit - ÁöÁ¤µÈ È÷Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ È÷Æ®ÀÇ caretÀÇ ¹Ý´ë Ãø¿¡ ÀÖ´Â È÷Æ®

getCaretShape

public Shape  getCaretShape(TextHitInfo  hit,
                           Rectangle2D  bounds)
ÁöÁ¤µÈ °æ°è³»ÀÇ ÁöÁ¤µÈ È÷Æ®¿¡ ÀÖ´Â caret¸¦ ³ªÅ¸³»´Â Shape ¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
hit - caret¸¦ »ý¼ºÇÏ´Â È÷Æ®
bounds - caretÀÇ »ý¼ºÀ¸·Î »ç¿ëÇÏ´Â TextLayout ÀÇ °æ°è
¹Ýȯ°ª:
caret¸¦ ³ªÅ¸³»´Â Shape

getCaretShape

public Shape  getCaretShape(TextHitInfo  hit)
ÀÌ TextLayout ÀÇ ÀÚ¿¬ °æ°è³»ÀÇ ÁöÁ¤µÈ È÷Æ®¿¡ ÀÖ´Â caret¸¦ ³ªÅ¸³»´Â Shape ¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
hit - caret¸¦ »ý¼ºÇÏ´Â È÷Æ®
¹Ýȯ°ª:
caret¸¦ ³ªÅ¸³»´Â Shape

getCharacterLevel

public byte getCharacterLevel(int index)
index ¿¡ Àִ ij¸¯ÅÍÀÇ ·¹º§À» µ¹·ÁÁÝ´Ï´Ù. À妽º -1 ¹× characterCount ¿¡´Â ÀÌ TextLayout ÀÇ ±âÀú ·¹º§À» ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
index - ·¹º§À» ÃëµæÇϴ ij¸¯ÅÍÀÇ À妽º
¹Ýȯ°ª:
ÁöÁ¤µÈ À妽º¿¡ Àִ ij¸¯ÅÍÀÇ ·¹º§

getCaretShapes

public Shape [] getCaretShapes(int offset,
                              Rectangle2D  bounds,
                              TextLayout.CaretPolicy  policy)
°­ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2 °³ÀÇ À±°û¼±À» µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
offset - ÀÌ TextLayout ÀÇ ¿ÀÇÁ¼Â(offset)
bounds - caret¸¦ È®ÀåÇÏ´Â °æ°è
policy - ÁöÁ¤ÇÑ CaretPolicy
¹Ýȯ°ª:
2 »ìÀÇ ÆÐ½ºÀÇ ¹è¿­. ¿ä¼Ò 0 Àº °­ÇÑ caret. 2 °³ÀÇ caret°¡ ÀÖ´Â °æ¿ì, ¿ä¼Ò 1 Àº ¾àÇÑ caret. ±×·¸Áö ¾ÊÀº °æ¿ì, ¿ä¼Ò 1 Àº null

getCaretShapes

public Shape [] getCaretShapes(int offset,
                              Rectangle2D  bounds)
°­ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2 °³ÀÇ À±°û¼±À» µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â getCaretShapes ÀÇ °£ÀÌ overloadÀ̸ç, µðÆúÆ®ÀÇ caret Æú¸®½Ã¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
offset - ÀÌ TextLayout ÀÇ ¿ÀÇÁ¼Â(offset)
bounds - caret¸¦ È®ÀåÇÏ´Â °æ°è
¹Ýȯ°ª:
DEFAULT_CARET_POLICY ¿¡¼­ÀÇ Á¤ÀÇ¿¡ ÀÇÇÑ, °­ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2 »ìÀÇ ÆÐ½º

getCaretShapes

public Shape [] getCaretShapes(int offset)
°­ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2 °³ÀÇ À±°û¼±À» µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â getCaretShapes ÀÇ °£ÀÌ overloadÀ̸ç, µðÆúÆ®ÀÇ caret Æú¸®½Ã ¹× ÀÌ TextLayout ¿ÀºêÁ§Æ®ÀÇ ÀÚ¿¬ °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
offset - ÀÌ TextLayout ÀÇ ¿ÀÇÁ¼Â(offset)
¹Ýȯ°ª:
DEFAULT_CARET_POLICY ¿¡¼­ÀÇ Á¤ÀÇ¿¡ ÀÇÇÑ, °­ÇÑ caret¿Í ¾àÇÑ caret¿¡ ´ëÀÀÇÏ´Â 2 »ìÀÇ ÆÐ½º

getLogicalRangesForVisualSelection

public int[] getLogicalRangesForVisualSelection(TextHitInfo  firstEndpoint,
                                                TextHitInfo  secondEndpoint)
½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§¿¡ ´ëÀÀÇÏ´Â ÅØ½ºÆ®ÀÇ ³í¸®ÀûÀÎ ¹üÀ§¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
firstEndpoint - ½Ã°¢ÀûÀÎ ¹üÀ§ÀÇ ÇÑÆíÀÇ ´Ü Á¡
secondEndpoint - ½Ã°¢ÀûÀÎ ¹üÀ§ÀÇ ÀÌÁ¦(¹ú½á) ÇÑÆíÀÇ ´Ü Á¡ firstEndpoint º¸´Ù À۾Ƶµ °¡´É
¹Ýȯ°ª:
¼±ÅÃµÈ ¹üÀ§ÀÇ °³½Ã/¸®¹ÔÆ®ÀÇ Æä¾î¸¦ ³ªÅ¸³»´Â Á¤¼öÀÇ ¹è¿­
°ü·Ã Ç׸ñ:
getVisualHighlightShape(TextHitInfo, TextHitInfo, Rectangle2D)

getVisualHighlightShape

public Shape  getVisualHighlightShape(TextHitInfo  firstEndpoint,
                                     TextHitInfo  secondEndpoint,
                                     Rectangle2D  bounds)
ÁöÁ¤µÈ ¹üÀ§ÀÇ ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â À±°û¼±À»,bounds ±îÁö È®ÀåÇØ µ¹·ÁÁÝ´Ï´Ù.

¼±Åà ¹üÀ§¿¡, Á嫆 (»ó´Ü)ÀÇ À§Ä¡°¡ Æ÷ÇԵǴ °æ¿ì, ±× ¼±Åà ¹üÀ§´Â bounds ÀÇ ¿ÞÂÊ (À§)±îÁö È®ÀåµË´Ï´Ù. ±× ¼±Åà ¹üÀ§¿¡ ¿ì´Ü (ÇÏ´Ü)ÀÇ À§Ä¡°¡ Æ÷ÇԵǴ °æ¿ì, ¼±Åà ¹üÀ§´Â °æ°èÀÇ ¿À¸¥ÂÊ (¾Æ·¡)±îÁö È®ÀåµË´Ï´Ù. ¼±Åà ¹üÀ§ÀÇ ³ôÀÌ (¼öÁ÷¼±»óÀÇ Æø)´Â Ç×»ó bounds ±îÁö È®ÀåµË´Ï´Ù.

¼±Åà ¹üÀ§´Â Ç×»ó ¿¬¼ÓÇϰí ÀÖ½À´Ï´Ù¸¸, È¥ÇÕ ¹æÇâ ÅØ½ºÆ®ÀÇ ÇàÀÇ °æ¿ì, ³í¸®ÀûÀ¸·Î ¼±ÅÃµÈ ÅØ½ºÆ®´Â ºÒ¿¬¼ÓÀÌ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¼±ÅÃµÈ ÅØ½ºÆ®ÀÇ ³í¸®ÀûÀÎ ¹üÀ§´Â getLogicalRangesForVisualSelection ¸¦ »ç¿ëÇØ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ¡¸ABCdef¡¹¶ó°í ÇÏ´Â ÅØ½ºÆ®¸¦ ¿¹¿¡ »ý°¢ÇØ º¸°Ú½À´Ï´Ù. ´ë¹®ÀÚ´Â ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀÇ ÅØ½ºÆ®¸¦ ³ªÅ¸³», ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀÇ ÇàÀ¸·Î Ç¥Çö µÇ¾î ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§´Â 0L ( ¡¸A¡¹ÀÇ ¸®µù ¿§Áö)¿¡¼­ 3T ( ¡¸d¡¹ÀÇ Æ®·¹ÀÌ ¸µ ¿§Áö)ÀÔ´Ï´Ù. ÀÌ ÅØ½ºÆ®´Â ´ÙÀ½°ú °°ÀÌ Ç¥½ÃµË´Ï´Ù. ¹ØÁ٠÷ºÎ º¼µåÀÇ area´Â ¼±Åà ¹üÀ§¸¦ ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.

    defCBA  
 
³í¸®ÀûÀÎ ¼±Åà ¹üÀ§´Â 0 ~ 3, 4 ~ 6 (ABC, ef)ÀÔ´Ï´Ù. ¿Ö³ÄÇϸé, ½Ã°¢ÀûÀ¸·Î ¿¬¼ÓÇÑ ÅØ½ºÆ®´Â ³í¸®ÀûÀ̰Դ ºÒ¿¬¼ÓÀ̱⠶§¹®ÀÔ´Ï´Ù. ¶Ç, ·¹À̾ƿôÀÇ ¿ì´ÜÀÇ À§Ä¡ ( ¡¸A¡¹ÀÇ ¿ìÃø)°¡ ¼±Åõǰí ÀÖÀ¸¹Ç·Î, ¼±Åà ¹üÀ§´Â °æ°èÀÇ ¿À¸¥ÂʱîÁö È®ÀåµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
firstEndpoint - ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§ÀÇ ÇÑÆíÀÇ ´Ü Á¡
secondEndpoint - ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§ÀÇ ÀÌÁ¦(¹ú½á) ÇÑÆíÀÇ ´Ü Á¡
bounds - ¼±Åà ¹üÀ§°¡ È®ÀåµÇ´Â °æ°èÀÇ ±¸Çü
¹Ýȯ°ª:
¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape
°ü·Ã Ç׸ñ:
getLogicalRangesForVisualSelection(TextHitInfo, TextHitInfo) , getLogicalHighlightShape(int, int, Rectangle2D)

getVisualHighlightShape

public Shape  getVisualHighlightShape(TextHitInfo  firstEndpoint,
                                     TextHitInfo  secondEndpoint)
ÁöÁ¤µÈ ¹üÀ§ÀÇ ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape ¸¦, °æ°è±îÁö È®ÀåÇØ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â getVisualHighlightShape ÀÇ °£ÀÌ overloadÀ̸ç, ÀÌ TextLayout ÀÇ ÀÚ¿¬ °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
firstEndpoint - ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§ÀÇ ÇÑÆíÀÇ ´Ü Á¡
secondEndpoint - ½Ã°¢ÀûÀÎ ¼±Åà ¹üÀ§ÀÇ ÀÌÁ¦(¹ú½á) ÇÑÆíÀÇ ´Ü Á¡
¹Ýȯ°ª:
¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape

getLogicalHighlightShape

public Shape  getLogicalHighlightShape(int firstEndpoint,
                                      int secondEndpoint,
                                      Rectangle2D  bounds)
ÁöÁ¤µÈ ¹üÀ§ÀÇ ³í¸®ÀûÀÎ ¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape ¸¦, ÁöÁ¤µÈ bounds ±îÁö È®ÀåÇØ µ¹·ÁÁÝ´Ï´Ù.

¼±Åà ¹üÀ§¿¡ ÃÖÃÊÀÇ ³í¸® ij¸¯ÅͰ¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì, ±× ¼±Åà ¹üÀ§´Â ÀÌ TextLayout ÀÇ ¼±µÎÀÇ ¾ÕÀÇ bounds ÀÇ ºÎºÐ±îÁö È®ÀåµË´Ï´Ù. ¼±Åà ¹üÀ§¿¡ ¸¶Áö¸· ³í¸® ij¸¯ÅͰ¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì, ±× ¼±Åà ¹üÀ§´Â ÀÌ TextLayout ÀÇ ¸¶Áö¸· ³ª¸ÓÁöÀÇ bounds ÀÇ ºÎºÐ±îÁö È®ÀåµË´Ï´Ù. ¼±Åà ¹üÀ§ÀÇ ³ôÀÌ (¼öÁ÷¼±»óÀÇ Æø)´Â Ç×»ó bounds ±îÁö È®ÀåµË´Ï´Ù.

È¥ÇÕ ¹æÇâ ÅØ½ºÆ®ÀÇ ÇàÀÇ °æ¿ì, ¼±Åà ¹üÀ§°¡ ºÒ¿¬¼ÓÀÌ µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ¼±µÎ¿Í ¸®¹ÔÆ®ÀÇ »çÀÌÀÇ ³í¸®ÀûÀÎ ¹üÀ§¿¡ À§Ä¡Çϴ ij¸¯Å͸¸ÀÌ ¼±ÅõǾî ÀÖ´Â °Íó·³ º¸ÀÔ´Ï´Ù. ¿¹¸¦ µé¾î, ¡¸ABCdef¡¹¶ó°í ÇÏ´Â ÅØ½ºÆ®¸¦ ¿¹¿¡ »ý°¢ÇØ º¸°Ú½À´Ï´Ù. ´ë¹®ÀÚ´Â ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀÇ ÅØ½ºÆ®¸¦ ³ªÅ¸³», ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀÇ ÇàÀ¸·Î Ç¥Çö µÇ¾î ³í¸®ÀûÀÎ ¼±Åà ¹üÀ§´Â 0 ~ 4 (ABCd)ÀÔ´Ï´Ù. ÅØ½ºÆ®´Â ´ÙÀ½°ú °°ÀÌ Ç¥½ÃµË´Ï´Ù. ¼±Åà ¹üÀ§´Â º¼µå·Î Ç¥½ÃµÇ¾î È®Àå ºÎºÐÀº ¹ØÁٷΠǥ½ÃµË´Ï´Ù.

    defCBA  
 
¼±Åà ¹üÀ§´Â ºÒ¿¬¼ÓÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â ¼±ÅÃµÈ Ä³¸¯ÅͰ¡ ½Ã°¢ÀûÀ¸·Î ºÒ¿¬¼ÓÀ̱⠶§¹®ÀÔ´Ï´Ù. ¶Ç, ¼±Åà ¹üÀ§¿¡ ÃÖÃÊÀÇ ³í¸® ij¸¯ÅÍ (A)°¡ Æ÷ÇԵDZâ (À§ÇØ)¶§¹®¿¡, ¼±Åà ¹üÀ§´Â ·¹À̾ƿôÀÇ ¼±µÎº¸´Ù ÀüÀÇ bounds ÀÇ ºÎºÐ±îÁö È®ÀåµË´Ï´Ù. ÀÌ °æ¿ì ( ¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀÇ Çà)´Â bounds ÀÇ ¿À¸¥ÂÊÀÇ ºÎºÐÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
firstEndpoint - ¼±ÅÃÇϴ ij¸¯ÅÍÀÇ ¹üÀ§ÀÇ ´Ü Á¡
secondEndpoint - ¼±ÅÃÇϴ ij¸¯ÅÍÀÇ ¹üÀ§ÀÇ ÀÌÁ¦(¹ú½á) ÇÑÆíÀÇ ´Ü Á¡ firstEndpoint º¸´Ù À۾Ƶµ °¡´É. min(firstEndpoint, secondEndpoint)ÀÇ Ä³¸¯ÅÍ´Â ¹üÀ§¿¡ Æ÷ÇÔµÇÁö¸¸, max(firstEndpoint, secondEndpoint)´Â ¹üÀ§·ÎºÎÅÍ Á¦¿ÜµÇ´Â
bounds - ¼±Åà ¹üÀ§°¡ È®ÀåµÇ´Â °æ°èÀÇ ±¸Çü
¹Ýȯ°ª:
¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â area
°ü·Ã Ç׸ñ:
getVisualHighlightShape(TextHitInfo, TextHitInfo, Rectangle2D)

getLogicalHighlightShape

public Shape  getLogicalHighlightShape(int firstEndpoint,
                                      int secondEndpoint)
ÁöÁ¤µÈ ¹üÀ§ÀÇ ³í¸®ÀûÀÎ ¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape ¸¦, ÀÌ TextLayout ÀÇ ÀÚ¿¬ °æ°è±îÁö È®ÀåÇØ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â getLogicalHighlightShape ÀÇ °£ÀÌ overloadÀ̸ç, ÀÌ TextLayout ÀÇ ÀÚ¿¬ °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
firstEndpoint - ¼±ÅÃÇϴ ij¸¯ÅÍÀÇ ¹üÀ§ÀÇ ´Ü Á¡
secondEndpoint - ¼±ÅÃÇϴ ij¸¯ÅÍÀÇ ¹üÀ§ÀÇ ÀÌÁ¦(¹ú½á) ÇÑÆíÀÇ ´Ü Á¡ firstEndpoint º¸´Ù À۾Ƶµ °¡´É. min(firstEndpoint, secondEndpoint)ÀÇ Ä³¸¯ÅÍ´Â ¹üÀ§¿¡ Æ÷ÇÔµÇÁö¸¸, max(firstEndpoint, secondEndpoint)´Â ¹üÀ§·ÎºÎÅÍ Á¦¿ÜµÈ´Ù
¹Ýȯ°ª:
¼±Åà ¹üÀ§¸¦ µÑ·¯½Î´Â Shape

getBlackBoxBounds

public Shape  getBlackBoxBounds(int firstEndpoint,
                               int secondEndpoint)
ÁöÁ¤µÈ ¹üÀ§¿¡ ÀÖ´Â ¸ðµç ij¸¯ÅÍÀÇ ºí·¢ ¹Ú½º °æ°è¸¦ µ¹·ÁÁÝ´Ï´Ù. ºí·¢ ¹Ú½º °æ°è¶õ, ½ÃÀÛ°ú ¸®¹ÔÆ®ÀÇ »çÀÌÀÇ ¸ðµç ij¸¯ÅÍ¿¡ ´ëÀÀÇÏ´Â ¸ðµç ±Û¸®ÇÁ(glyph)ÀÇ ¹Ù¿îµò±×º¹½ºÀÇ °áÇÕÀ¸·Î ±¸¼ºµÇ´Â areaÀÔ´Ï´Ù. ÀÌ À±°û¼±Àº ºÐ¸®Çϰí ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
firstEndpoint - ij¸¯ÅÍÀÇ ¹üÀ§ÀÇ ÇÑÆíÀÇ ´Ü Á¡
secondEndpoint - ij¸¯ÅÍÀÇ ¹üÀ§ÀÇ ÀÌÁ¦(¹ú½á) ÇÑÆíÀÇ ´Ü Á¡ firstEndpoint º¸´Ù À۾Ƶµ °¡´É
¹Ýȯ°ª:
ºí·¢ ¹Ú½º °æ°è¸¦ µÑ·¯½Î´ÂÆÐ½º

hitTestChar

public TextHitInfo  hitTestChar(float x,
                               float y,
                               Rectangle2D  bounds)
ÁöÁ¤µÈ Á¡¿¡ ´ëÀÀÇÏ´Â TextHitInfo ¸¦ µ¹·ÁÁÝ´Ï´Ù. TextLayout ÀÇ °æ°èÀÇ ¿ÜÃøÀÇ ÁÂÇ¥´Â ÇàÀÇ Ä³¸¯ÅÍÀÇ À§Ä¡¿¡ °ü°è¾øÀÌ, ÃÖÃÊÀÇ ³í¸® ij¸¯ÅÍÀÇ ¸®µù ¿§Áö ¶Ç´Â ¸¶Áö¸· ³í¸® ij¸¯ÅÍÀÇ Æ®·¹ÀÌ ¸µ ¿§ÁöÀÇ ¾î´À ÂÊÀÎÁö ÀûÀýÇÑ (ºÐ)ÆíÀÇ È÷Æ®¿¡ ´ëÀÀÇÕ´Ï´Ù. baseline¿¡ µû¸¥ ¹æÇ⸸ÀÌ, ÀÌ Æò°¡¿¡ »ç¿ëµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
x - ÀÌ TextLayout ÀÇ ¿øÁ¡À¸·ÎºÎÅÍÀÇ x ¿ÀÇÁ¼Â(offset)
y - ÀÌ TextLayout ÀÇ ¿øÁ¡À¸·ÎºÎÅÍÀÇ y ¿ÀÇÁ¼Â(offset)
bounds - TextLayout ÀÇ °æ°è
¹Ýȯ°ª:
ÁöÁ¤µÈ Á¡º¸´Ù ¾Æ·¡ÀÇ Ä³¸¯ÅÍ ¹× ¿§Áö (¼±µÎ ¶Ç´Â ¸»¹Ì)¸¦ ±â¼úÇÏ´Â È÷Æ®

hitTestChar

public TextHitInfo  hitTestChar(float x,
                               float y)
ÁöÁ¤µÈ Á¡¿¡ ´ëÀÀÇÏ´Â TextHitInfo ¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â hitTestChar ÀÇ °£ÀÌ overloadÀ̸ç, ÀÌ TextLayout ÀÇ ÀÚ¿¬½º·¯¿î °æ°è¸¦ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
x - ÀÌ TextLayout ÀÇ ¿øÁ¡À¸·ÎºÎÅÍÀÇ x ¿ÀÇÁ¼Â(offset)
y - ÀÌ TextLayout ÀÇ ¿øÁ¡À¸·ÎºÎÅÍÀÇ y ¿ÀÇÁ¼Â(offset)
¹Ýȯ°ª:
ÁöÁ¤µÈ Á¡º¸´Ù ¾Æ·¡ÀÇ Ä³¸¯ÅÍ ¹× ¿§Áö (¼±µÎ ¶Ç´Â ¸»¹Ì)¸¦ ±â¼úÇÏ´Â È÷Æ®

hashCode

public int hashCode()
ÀÌ TextLayout ÀÇ ÇØ½Ã Äڵ带 µ¹·ÁÁÝ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ ÇØ½Ã ÄÚµå
°ü·Ã Ç׸ñ:
Object.equals(java.lang.Object) , Hashtable

equals

public boolean equals(Object  obj)
ÁöÁ¤µÈ Object °¡ TextLayout ¿ÀºêÁ§Æ®·Î, ÁöÁ¤µÈ Object °¡ ÀÌ TextLayout ¿Í µ¿ÀÏÇÑ °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ equals
ÆÄ¶ó¹ÌÅÍ:
obj - µ¿ÀÏÇÑÁö ¾î¶²Áö°¡ ÆÇÁ¤µÇ´Â Object
¹Ýȯ°ª:
ÁöÁ¤µÈ Object °¡ ÀÌ TextLayout ¿Í µ¿ÀÏÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
°ü·Ã Ç׸ñ:
Object.hashCode() , Hashtable

equals

public boolean equals(TextLayout  rhs)
2 °³ÀÇ ·¹À̾ƿôÀÌ µ¿ÀÏÇÑ °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù. 2 °³ÀÇ ·¹À̾ƿôÀº ±×°ÍµéÀÌ °°Àº ¼ø¼­·Î °°Àº ±Û¸®ÇÁ(glyph)º£Å©ÅçÀ» ÀúÀåÇϰí ÀÖ´Â °æ¿ì¿¡ µ¿ÀÏÇØÁý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
rhs - ÀÌ TextLayout ¿Í ºñ±³ÇÏ´Â TextLayout
¹Ýȯ°ª:
ÁöÁ¤µÈ TextLayout ÀÌ ÀÌ TextLayout ¿Í µ¿ÀÏÇÑ °æ¿ì´Â true

toString

public String  toString()
ÀÌ TextLayout ÀÇ µð¹ö±× Á¤º¸¸¦ µ¹·ÁÁÝ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ textLine ¸¦ ³ªÅ¸³»´Â String

draw

public void draw(Graphics2D  g2,
                 float x,
                 float y)
ÁöÁ¤µÈ Graphics2D ¹®¸ÆÀÇ ÁöÁ¤µÈ À§Ä¡¿¡ ÀÌ TextLayout ¸¦ Ç¥Çö ÇÕ´Ï´Ù. ·¹À̾ƿôÀÇ ¿øÁ¡Àº x,  y ÀÔ´Ï´Ù. Ç¥Çö´Â ÀÌ Á¤µµÄ¡ÀÇ getBounds() ³»ÀÇ ÀÓÀÇÀÇ Á¡¿¡ Á¢ÇÕ´Ï´Ù. g2 ´Â º¯°æµÇÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
g2 - ·¹À̾ƿôÀÇ Ç¥ÇöóÀÇ Graphics2D ¹®¸Æ
°ü·Ã Ç׸ñ:
getBounds()

getOutline

public Shape  getOutline(AffineTransform  tx)
ÀÌ TextLayout ÀÇ À±°ûÀ» ³ªÅ¸³»´Â Shape ¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
tx - ÀÌ TextLayout ÀÇ À±°û¿¡ Àû¿ëÇÏ´Â ÀÓÀÇ ÁöÁ¤ÀÇ AffineTransform
¹Ýȯ°ª:
ÀÌ TextLayout ÀÇ À±°ûÀÎ Shape

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ À־ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.