TextLayout (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

## java.awt.font
클래스 TextLayout

    java.lang.Object
      java.awt.font.TextLayout

모든 구현된 인터페이스:
  Cloneable

    public final class TextLayout

extends Object
implements Cloneable

`TextLayout` 는, 서식 첨부 문자 데이터의 불변의 그래픽 표현입니다.

이 클래스는 다음의 기능을 제공합니다.

- 암묵적인 쌍방향의 분석과 늘어놓고 대체
- 커서의 위치 지정과 이동 (혼합 방향 텍스트를 위한 분할 커서를 포함한다)
- 하이라이트 (혼합 방향 텍스트를 위한 논리적 하이라이트와 시각적 하이라이트를 포함한다)
- 복수의 baseline (낭만 baseline, 매달려 baseline, 및 센터 baseline)
- 히트의 테스트
- 위치 가지런히 하고
- 디폴트 폰트의 치환
- 아센트, 디 센트, 및 유효폭등의 시학 정보
- draw

`TextLayout` 객체는,`draw` 메소드를 사용해 draw 할 수 있습니다.

`TextLayout` 는, 직접 또는 `LineBreakMeasurer` 를 개입시켜 작성할 수 있습니다. 직접 작성되는 경우, 소스 텍스트는 1 개의 단락을 나타냅니다. `LineBreakMeasurer` 에서는, 특정의 폭에 들어가는 복수의 행에 서식 첨부 텍스트를 분할할 수 있습니다. 자세한 것은,`LineBreakMeasurer` 의 문서를 참조해 주세요.

`TextLayout` 의 구축은, 논리적이게는 다음의 순서로 행해집니다.

- 단락 속성이 추출되어 조사할 수 있다
- 쌍방향이 늘어놓고 바꾸고를 위해서(때문에) 텍스트가 분석되어 필요한 경우는 늘어놓고 바꾸고 정보가 계산된다
- 텍스트가 스타일 런에 부분화된다
- 스타일 런용의 폰트가 선택된다. 선택 방법은, 최초로 속성 `TextAttribute.FONT` 가 있는 경우는 폰트가 사용되어 그렇지 않은 경우는, 정의 끝난 속성을 사용해 디폴트 폰트가 계산된다
- 텍스트가 복수의 baseline에 있는 경우, 런 또는 서브 런은 공통의 baseline를 공유하는 서브 런에 한층 더 분할된다
- 선택된 폰트를 사용해 각 런에 Glyph베크톨이 생성된다
- 최종적인 쌍방향이 늘어놓고 바꾸고가 Glyph베크톨로 실행된다

`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` 와 그 경계의 구형의 작성 및 draw

>        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]);
>            }
>        }

소스 텍스트의 부분 캐릭터 라인에 대응하는 선택 범위를 draw 합니다. 선택된 영역은, 시각적으로 연속하지 않은 경우가 있습니다.

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

시각적으로 연속한 선택 범위를 draw 합니다. 선택 범위는, 소스 텍스트의 복수의 부분 캐릭터 라인에 대응하는 일이 있습니다. 대응하는 소스 텍스트의 부분 캐릭터 라인의 범위는,`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.

주:폰트를 회전하면(자) 텍스트의 baseline가 회전하는 일이 있어, 복수의 런으로 회전이 다르면(자), baseline가 굴곡 하거나 지그재그가 되는 일이 있습니다. 이 보기 드문 가능성에 대처하기 위해서, 일부의 폰트 API 는 지정에 따라 「baseline를 기준으로 한 좌표로」메트릭스를 돌려주거나 파라미터를 받거나 합니다 (아센트나 유효폭 등). 그 이외의 API 는, 「표준의 좌표로」처리합니다 (getBounds 등). baseline를 기준으로 한 좌표에서는, x 좌표는 baseline에 따른 거리 (정의 x 는 baseline에 따라 진행될 방향), y 좌표는 x 에서의 baseline에 대한 수선에 따른 거리 (정의 y 는 baseline 벡터로부터 시계회전에 90 번의 방향)에 맵 됩니다. 표준의 좌표에서는, 좌표는 TextLayout 의 원점을 0,0 으로서 x 축 및 y 축으로 따라 측정됩니다. 관련하는 각 API 의 문서에는, 어느 값이 어느 좌표계로 나타내질지가 나타나고 있습니다. 일반적으로, 측정에 관련하는 API 는 baseline를 기준으로 한 좌표, 표시에 관련하는 API 는 표준의 좌표를 사용합니다.

관련 항목:
  `LineBreakMeasurer` , `TextAttribute` , `TextHitInfo` , `LayoutPath`

상자의 클래스의 개요
`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` 를 draw 합니다.
`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` 의 카피를 작성합니다.
`LayoutPath` | `getLayoutPath ()` LayoutPath 를 돌려줍니다.
`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` 를 돌려줍니다.
`Rectangle` | `getPixelBounds (FontRenderContext frc, float x, float y)` 지정된 위치에서 지정된 `FontRenderContext` 를 사용해, 그래픽스내에 이 `TextLayout` 가 draw 될 때의 인덱스의 위치에 있는 Glyph의 픽셀 경계를 돌려줍니다.
`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` 를 돌려줍니다.
`void` | `hitToPoint (TextHitInfo hit, Point2D point)` 히트를 표준 좌표의 포인트로 변환합니다.
`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` 는, 정책가 클라이언트에 의해 지정되어 있지 않은 경우에 사용됩니다. 이 정책에서는, 방향이 행의 방향과 같은 문자의 히트가, 반대 방향의 문자의 히트보다 강해집니다. 문자의 방향이 같은 경우, 문자의 리딩 엣지의 히트가, 문자의 트레이 링 엣지의 히트보다 강해집니다.

생성자 의 상세

### 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 <?  extends AttributedCharacterIterator.Attribute ,? > 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` 가 벌써 행 가지런히 하고 되고 있는 경우는 예외가 throw 됩니다. 이 `TextLayout` 객체의 행 가지런히 하고 비율이 제로의 경우, 이 `TextLayout` 과 동일한 `TextLayout` 가 돌려주어집니다.

  파라미터:
    `justificationWidth` - 행 가지런히 하고 하기 위해서 사용하는 폭. 최선의 결과를 얻기 위해서(때문에)는, 행의 현재의 유효폭과의 차이는 작은 것이 좋다
  반환값:
    지정된 폭에 행 가지런히 하고 된 `TextLayout`
  예외:
    `Error` - 이 레이아웃이 벌써 행 가지런히 하고 되고 있는 경우, Error 가 throw 된다

### 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` 의 유효폭을 돌려줍니다. 유효폭은, 원점에서 우단 (하단)의 문자의 유효폭까지의 거리입니다. 이것은 baseline를 기준으로 한 좌표로 나타내집니다.

  반환값:
    이 `TextLayout` 의 유효폭

### getVisibleAdvance

    public float getVisibleAdvance()

  이 `TextLayout` 의 유효폭을 돌려줍니다. 말미의 공백은 포함되지 않습니다. 이것은 baseline를 기준으로 한 좌표로 나타내집니다.

  반환값:
    이 `TextLayout` 의 말미의 공백을 제외했다 유효폭
  관련 항목:
    `getAdvance()`

### getAscent

    public float getAscent()

  이 `TextLayout` 의 아센트를 돌려줍니다. 아센트는,`TextLayout` 위 ( 오른쪽)로부터 baseline까지의 거리입니다. 이 거리는 항상 정의 값 또는 제로입니다. 아센트는, 상 첨부 텍스트를 포함하기 위해서 충분한 크기이며, 각 Glyph의 아센트, 오프셋(offset), 및 baseline의 합계의 최대치입니다. 이것은, TextLayout 내의 모든 텍스트의 baseline로부터의 최대 아센트입니다. baseline를 기준으로 한 좌표로 나타내집니다.

  반환값:
    이 `TextLayout` 의 아센트

### getDescent

    public float getDescent()

  이 `TextLayout` 의 디 센트를 돌려줍니다. 디 센트는, baseline로부터 `TextLayout` 아래 (왼쪽)까지의 거리입니다. 이 거리는 항상 정의 값 또는 제로입니다. 디 센트는, 하부나무 텍스트를 포함하기 위해서 충분한 크기이며, 각 Glyph의 디 센트, 오프셋(offset), 및 baseline의 합계의 최대치입니다. 이것은, TextLayout 내의 모든 텍스트의 baseline로부터의 최대 디 센트입니다. baseline를 기준으로 한 좌표로 나타내집니다.

  반환값:
    이 `TextLayout` 의 디 센트

### getLeading

    public float getLeading()

  `TextLayout` 의 leading를 돌려줍니다. leading는, 이 `TextLayout` 용으로서 추천 되고 있는 행간 스페이스입니다. 이것은 baseline를 기준으로 한 좌표로 나타내집니다.

  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 에 의해 draw 된 픽셀이 모두 이 경계내에 들어간다고는 할 수 없습니다.

  TextLayout 의 아센트, 디 센트, 원점, 또는 유효폭과 완전하게는 일치하지 않는 경우가 있습니다.

  반환값:
    이 `TextLayout` 의 경계이다 `Rectangle2D`

### getPixelBounds

    public Rectangle  getPixelBounds(FontRenderContext  frc,
                                    float x,
                                    float y)

  지정된 위치에서 지정된 `FontRenderContext` 를 사용해, 그래픽스내에 이 `TextLayout` 가 draw 될 때의 인덱스의 위치에 있는 Glyph의 픽셀 경계를 돌려줍니다. 그래픽스 draw 문맥은, 이 `TextLayout` 의 작성에 사용되는 `FontRenderContext` 와 같은 필요는 없고, null 에서도 괜찮습니다. null 의 경우, 이 `TextLayout` 의 `FontRenderContext` 가 사용됩니다.

  파라미터:
    `frc` - `Graphics` 의 `FontRenderContext`
    `x` - 이 `TextLayout` 을 draw 하는 x 좌표
    `y` - 이 `TextLayout` 를 draw 하는 y 좌표
  반환값:
    영향을 받는 픽셀의 경계를 나타내는 `Rectangle`
  도입된 버젼:
    1.6
  관련 항목:
    `GlyphVector.getPixelBounds(java.awt.font.FontRenderContext, float, float)`

### 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` 가 나타내는 문자수를 돌려줍니다.

  반환값:
    이 `TextLayout` 의 문자수

### getCaretInfo

    public float[] getCaretInfo(TextHitInfo  hit,
                                Rectangle2D  bounds)

  `hit` 에 대응하는 caret에 대한 정보를 돌려줍니다. 배열의 최초의 요소는, caret와 baseline의 교점입니다. baseline에 따른 거리로 나타내집니다. 배열의 2 번째의 요소는, caret의 역기울기 (런/라이즈)입니다. 그 점에서의 baseline를 기준으로 해 측정됩니다.

  이 메소드는, 정보 (을) 위해서만 사용됩니다. caret를 표시하려면 ,`getCaretShapes` 를 사용해 주세요.

  파라미터:
    `hit` - 이 `TextLayout` 의 문자의 히트
    `bounds` - caret 정보가 구축되는 경계. 경계는 baseline를 기준으로 한 좌표로 나타내진다
  반환값:
    caret의 위치와 기울기가 포함되고 있는 2 요소 배열. 반환되는 caret 정보는, baseline를 기준으로 한 좌표로 나타내지는
  관련 항목:
    `getCaretShapes(int, Rectangle2D, TextLayout.CaretPolicy)` , `Font.getItalicAngle()`

### getCaretInfo

    public float[] getCaretInfo(TextHitInfo  hit)

  `hit` 에 대응하는 caret에 대한 정보를 돌려줍니다. 이 메소드는,`getCaretInfo` 의 간이 overload이며, 이 `TextLayout` 의 자연 경계를 사용합니다.

  파라미터:
    `hit` - 이 `TextLayout` 의 문자의 히트
  반환값:
    히트에 대응하는 caret에 대한 정보 반환된다 caret 정보는, baseline를 기준으로 한 좌표로 나타내진다

### getNextRightHit

    public TextHitInfo  getNextRightHit(TextHitInfo  hit)

  오른쪽 (하) 방향의 다음의 caret의 히트를 돌려줍니다. 이 방향으로 히트가 없는 경우는 `null` 를 돌려줍니다. 히트 문자의 인덱스가 경계내에 없는 경우는,`IllegalArgumentException` 가 throw 됩니다.

  파라미터:
    `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` 가 돌려주어집니다. 히트 문자의 인덱스가 경계내에 없는 경우는,`IllegalArgumentException` 가 throw 됩니다.

  파라미터:
    `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` 의 경계. 경계는 baseline를 기준으로 한 좌표로 나타내진다
  반환값:
    caret를 나타내는 `Shape`반환된다 형상은 표준의 좌표로 나타내진다

### getCaretShape

    public Shape  getCaretShape(TextHitInfo  hit)

  이 `TextLayout` 의 자연 경계내의 지정된 히트에 있는 caret를 나타내는 `Shape` 를 돌려줍니다.

  파라미터:
    `hit` - caret를 생성하는 히트
  반환값:
    caret를 나타내는 `Shape`반환된다 형상은 표준의 좌표로 나타내진다

### getCharacterLevel

    public byte getCharacterLevel(int index)

  `index` 에 있는 문자의 레벨을 돌려줍니다. 인덱스 -1 및 `characterCount` 에는, 이 `TextLayout` 의 기저 레벨을 할당할 수 있습니다.

  파라미터:
    `index` - 레벨을 취득하는 문자의 인덱스
  반환값:
    지정된 인덱스에 있는 문자의 레벨

### getCaretShapes

    public Shape [] getCaretShapes(int offset,
                                  Rectangle2D  bounds,
                                  TextLayout.CaretPolicy  policy)

  강한 caret와 약한 caret에 대응하는 2 개의 윤곽선을 돌려줍니다.

  파라미터:
    `offset` - 이 `TextLayout` 의 오프셋(offset)
    `bounds` - caret를 확장하는 경계. 이 경계는 baseline를 기준으로 한 좌표로 나타내지는
    `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를 확장하는 경계. 이것은 baseline를 기준으로 한 좌표로 나타내진다
  반환값:
    `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」라고 하는 텍스트를 예에 생각해 보겠습니다. 대문자는 오른쪽에서 왼쪽의 텍스트를 나타내, 오른쪽에서 왼쪽의 행으로 draw 되어 시각적인 선택 범위는 0L ( 「A」의 리딩 엣지)에서 3T ( 「d」의 트레이 링 엣지)입니다. 이 텍스트는 다음과 같이 표시됩니다. 밑줄 첨부 볼드의 영역은 선택 범위를 나타내고 있습니다.

          defCBA

  논리적인 선택 범위는, 0 ~ 3, 4 ~ 6 (ABC, ef)입니다. 왜냐하면, 시각적으로 연속한 텍스트는 논리적이게는 불연속이기 때문입니다. 또, 레이아웃의 우단의 위치 ( 「A」의 우측)가 선택되고 있으므로, 선택 범위는 경계의 오른쪽까지 확장됩니다.

  파라미터:
    `firstEndpoint` - 시각적인 선택 범위의 한편의 단 점
    `secondEndpoint` - 시각적인 선택 범위의 이제(벌써) 한편의 단 점
    `bounds` - 선택 범위가 확장되는 경계의 구형. 이것은 baseline를 기준으로 한 좌표로 나타내진다
  반환값:
    선택 범위를 둘러싸는 `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` 까지 확장해 돌려줍니다.

  선택 범위에 최초의 논리 문자가 포함되어 있는 경우, 그 선택 범위는 이 `TextLayout` 의 선두의 앞의 `bounds` 의 부분까지 확장됩니다. 선택 범위에 마지막 논리 문자가 포함되어 있는 경우, 그 선택 범위는 이 `TextLayout` 의 마지막 나머지의 `bounds` 의 부분까지 확장됩니다. 선택 범위의 높이 (수직선상의 폭)는, 항상 `bounds` 까지 확장됩니다.

  혼합 방향 텍스트의 행의 경우, 선택 범위가 불연속이 되는 일이 있습니다. 선두와 리밋트의 사이의 논리적인 범위에 위치하는 문자만이 선택되어 있는 것처럼 보입니다. 예를 들어, 「ABCdef」라고 하는 텍스트를 예에 생각해 보겠습니다. 대문자는 오른쪽에서 왼쪽의 텍스트를 나타내, 오른쪽에서 왼쪽의 행으로 draw 되어 논리적인 선택 범위는 0 ~ 4 (ABCd)입니다. 텍스트는 다음과 같이 표시됩니다. 선택 범위는 볼드로 표시되어 확장 부분은 밑줄로 표시됩니다.

          defCBA

  선택 범위는 불연속입니다. 그 이유는, 선택된 문자가 시각적으로 불연속이기 때문입니다. 또, 선택 범위에 최초의 논리 문자 (A)가 포함되기 (위해)때문에, 선택 범위는 레이아웃의 선두보다 전의 `bounds` 의 부분까지 확장됩니다. 이 경우 ( 오른쪽에서 왼쪽의 행)는,`bounds` 의 오른쪽의 부분입니다.

  파라미터:
    `firstEndpoint` - 선택하는 문자의 범위의 단 점
    `secondEndpoint` - 선택하는 문자의 범위의 이제(벌써) 한편의 단 점. `firstEndpoint` 보다 작아도 가능. 이 범위에는, min(firstEndpoint, secondEndpoint)의 문자는 포함되지만, max(firstEndpoint, secondEndpoint)의 문자는 제외되는
    `bounds` - 선택 범위가 확장되는 경계의 구형. 이것은 baseline를 기준으로 한 좌표로 나타내진다
  반환값:
    선택 범위를 둘러싸는 영역 이것은 표준의 좌표로 나타내지는
  관련 항목:
    `getVisualHighlightShape(TextHitInfo, TextHitInfo, Rectangle2D)`

### getLogicalHighlightShape

    public Shape  getLogicalHighlightShape(int firstEndpoint,
                                          int secondEndpoint)

  지정된 범위의 논리적인 선택 범위를 둘러싸는 `Shape` 를, 이 `TextLayout` 의 자연 경계까지 확장해 돌려줍니다. 이 메소드는,`getLogicalHighlightShape` 의 간이 overload이며, 이 `TextLayout` 의 자연 경계를 사용합니다.

  파라미터:
    `firstEndpoint` - 선택하는 문자의 범위의 단 점
    `secondEndpoint` - 선택하는 문자의 범위의 이제(벌써) 한편의 단 점. `firstEndpoint` 보다 작아도 가능.. 이 범위에는, min(firstEndpoint, secondEndpoint)의 문자는 포함되지만, max(firstEndpoint, secondEndpoint)의 문자는 제외된다
  반환값:
    선택 범위를 둘러싸는 `Shape`이것은 표준의 좌표로 나타내진다

### getBlackBoxBounds

    public Shape  getBlackBoxBounds(int firstEndpoint,
                                   int secondEndpoint)

  지정된 범위에 있는 모든 문자의 블랙 박스 경계를 돌려줍니다. 블랙 박스 경계란, 개시와 리밋트의 사이의 모든 문자에 대응하는 모든 Glyph의 바운딩 박스의 결합으로 구성되는 영역입니다. 이 영역은 불연속이 되는 경우가 있습니다.

  파라미터:
    `firstEndpoint` - 문자의 범위의 한편의 단 점
    `secondEndpoint` - 문자의 범위의 이제(벌써) 한편의 단 점. 이것은 `firstEndpoint` 보다 작아도 가능
  반환값:
    블랙 박스 경계를 둘러싸는 `Shape`. 이것은 표준의 좌표로 나타내진다

### hitTestChar

    public TextHitInfo  hitTestChar(float x,
                                   float y,
                                   Rectangle2D  bounds)

  지정된 점에 대응하는 `TextHitInfo` 를 돌려줍니다. TextLayout 의 경계의 외측의 좌표는, 행의 문자의 위치에 관계없이, 최초의 논리 문자의 리딩 엣지, 또는 마지막 논리 문자의 트레이 링 엣지의 어느 쪽인지 적절한 (분)편의 히트에 대응합니다. baseline에 따른 방향만이, 이 평가에 사용됩니다.

  파라미터:
    `x` - 이 `TextLayout` 의 원점으로부터의 x 오프셋(offset). 이것은 표준의 좌표로 나타내지는
    `y` - 이 `TextLayout` 의 원점으로부터의 y 오프셋(offset). 이것은 표준의 좌표로 나타내지는
    `bounds` - `TextLayout` 의 경계. 이것은 baseline를 기준으로 한 좌표로 나타내진다
  반환값:
    지정된 점아래의 문자 및 엣지 (리딩 엣지 또는 트레이 링 엣지)를 기술하는 히트

### 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` 를 draw 합니다. 레이아웃의 원점은 x, y 입니다. draw는, 이 정도치의 `getBounds()` 내의 임의의 점에 접합니다. `g2` 는 변경되지 않습니다. 텍스트는 baseline의 패스에 따라 draw 됩니다.

  파라미터:
    `g2` - 레이아웃의 draw처의 `Graphics2D` 문맥
    `x` - 이 `TextLayout` 의 원점의 X 좌표
    `y` - 이 `TextLayout` 의 원점의 Y 좌표
  관련 항목:
    `getBounds()`

### getOutline

    public Shape  getOutline(AffineTransform  tx)

  이 `TextLayout` 의 윤곽을 나타내는 `Shape` 를 돌려줍니다.

  파라미터:
    `tx` - 이 `TextLayout` 의 윤곽에 적용한다 임의 지정 `AffineTransform`
  반환값:
    이 `TextLayout` 의 윤곽이다 `Shape`. 이것은 표준의 좌표로 나타내진다

### getLayoutPath

    public LayoutPath  getLayoutPath()

  LayoutPath 를 돌려줍니다. 레이아웃 패스가 디폴트의 패스인 경우는 (x 가 유효폭, y 가 오프셋(offset)에 맵 된다), null 를 돌려줍니다.

  반환값:
    레이아웃 패스
  도입된 버젼:
    1.6

### hitToPoint

    public void hitToPoint(TextHitInfo  hit,
                           Point2D  point)

  히트를 표준 좌표의 포인트로 변환합니다. 이 포인트는, 문자의 baseline상에 있어, 경우에 응해 문자의 리딩 엣지 또는 트레이 링 엣지에 해당됩니다. 이 히트로 나타내지는 문자의 옆에서 패스가 분할되고 있는 경우, 포인트는 문자에 인접합니다.

  파라미터:
    `hit` - 체크 대상의 히트. 이것은 TextLayout 상의 유효한 히트가 아니면 안되는
    `point` - 반환되는 포인트. 포인트는 표준의 좌표로 나타내진다
  예외:
    `IllegalArgumentException` - 히트가 TextLayout 에 대해서 유효하지 않다 경우
    `NullPointerException` - hit 또는 point 가 null 의 경우
  도입된 버젼:
    1.6

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.