|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.font.TextMeasurer
public final class TextMeasurer
TextMeasurer
클래스는, 유효폭의 측정, 문자 범위의 유효폭의 지정, 문자 범위의 TextLayout
의 작성 등, 개행에 필요한 기본 조작을 제공합니다. 패러그래프가 증가했을 경우의 편집 메소드도 제공합니다.
TextMeasurer
객체는, 텍스트의 1 개의 패러그래프를 나타내는 AttributedCharacterIterator
로 구축합니다. AttributedCharacterIterator
의 getBeginIndex
메소드가 돌려주는 값은, 최초의 문자의 절대 인덱스를 정의합니다. AttributedCharacterIterator
의 getEndIndex
메소드가 돌려주는 값은, 마지막 문자의 다음의 인덱스를 정의합니다. 이러한 값에 의해,TextMeasurer
를 호출할 때 사용하는 인덱스의 범위가 정의됩니다. 예를 들어, 텍스트의 범위의 유효폭, 즉 텍스트의 범위의 개행을 취득하기 위한 호출에서는, 개시 인덱스치와 종료 인덱스치의 사이의 인덱스를 사용할 필요가 있습니다. insertChar
및 deleteChar
를 호출하면(자),TextMeasurer
가 리셋 되어 이러한 호출로 건네받은 AttributedCharacterIterator
의 개시 인덱스와 종료 인덱스가 사용됩니다.
대부분의 클라이언트는, 표준 개행 (각 행에 배치 가능한 한의 문자를 배치)을 구현하는 편리한 LineBreakMeasurer
를 사용합니다.
LineBreakMeasurer
생성자 의 개요 | |
---|---|
TextMeasurer (AttributedCharacterIterator text,
FontRenderContext frc)
소스 텍스트로부터 TextMeasurer 를 구축합니다. |
메소드의 개요 | |
---|---|
protected Object |
clone ()
이 객체의 카피를 작성해, 돌려줍니다. |
void |
deleteChar (AttributedCharacterIterator newParagraph,
int deletePos)
이 TextMeasurer 가 현재 나타내는 패러그래프로 1 문자를 삭제하고 나서 TextMeasurer 를 갱신합니다. |
float |
getAdvanceBetween (int start,
int limit)
start 로 시작되어,limit 까지의 문자를 포함한 행의 그래픽폭을 돌려줍니다. |
TextLayout |
getLayout (int start,
int limit)
지정된 문자 범위의 TextLayout 를 돌려줍니다. |
int |
getLineBreakIndex (int start,
float maxAdvance)
start 로 시작되어, 그래픽폭이 maxAdvance 의 행에 배치할 수 없는 최초의 문자의 인덱스를 돌려줍니다. |
void |
insertChar (AttributedCharacterIterator newParagraph,
int insertPos)
이 TextMeasurer 가 현재 나타내는 패러그래프에 1 문자를 삽입하고 나서 TextMeasurer 를 갱신합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public TextMeasurer(AttributedCharacterIterator text, FontRenderContext frc)
TextMeasurer
를 구축합니다. 소스 텍스트는 1 단락 전체가 됩니다.
text
- 소스 단락. null 는 불가frc
- 텍스트를 정확하게 측정하기 위해서 필요한
그래픽스 디바이스에 관한 정보. null 는 불가메소드의 상세 |
---|
protected Object clone()
Object
의 기술:하지만 true 이며, 다음의 식x.clone() ! = x
도 true 인 것입니다만, 이것들도 절대적인 요건이 아닙니다. 또 다음의 식x.clone(). getClass() == x.getClass()
도 일반적으로 true 가 됩니다만, 이것도 절대적인 요건이 아닙니다.x.clone(). equals(x)
일반적으로,super.clone 를 호출하는 것으로 반환되는 객체를 취득할 수 있습니다. 클래스 및 그 슈퍼 클래스 모든 것 (Object 를 제외한다)이 이 규칙에 따르는 경우,x.clone(). getClass() == x.getClass() 가 성립합니다.
일반적으로, 이 메소드에 의해 반환되는 객체는, 이 객체 (복제되고 있다)로부터 독립하고 있을 필요가 있습니다. 이 독립성을 달성하기 위해(때문에),super.clone 가 돌려주는 객체의 필드를 1 개 이상 (객체가 돌려주기 전에) 변경하는 것이 필요하게 되는 경우가 있습니다. 이것은, 일반적으로, 복제하는 객체의 내부 「심층 구조」를 구성하는 가변 객체의 카피, 및 이러한 객체에의 참조를 카피에의 참조에 옮겨놓는 것을 의미합니다. 클래스에 프리미티브(primitive) 필드 또는 불변 객체에의 참조만이 포함되는 경우, 일반적으로,super.clone 에 의해 반환되는 객체내의 필드를 변경할 필요는 없습니다.
Object 클래스의 clone 메소드는, 특정의 복제 처리를 실행합니다. 우선, 이 객체의 클래스가 Cloneable 인터페이스를 구현하고 있지 않는 경우는,CloneNotSupportedException 가 throw 됩니다. 배열은 모두, 인터페이스 Cloneable 를 구현하고 있는 것이라고 보여지는 것에 주의해 주세요. 구현하고 있지 않는 경우, 이 메소드는 이 객체의 클래스의 새로운 인스턴스를 생성해, 그 필드를 모두, 이 객체의 대응하는 각 필드의 내용으로 초기화합니다. 이것은 대입과 같아, 필드의 내용 자신이 복제되는 것은 아닙니다. 즉 이 메소드는, 객체의 「shallow 복사」를 생성합니다만, 「딥 카피」는 생성하지 않습니다.
Object 클래스 자체는,Cloneable 인터페이스를 구현하지 않기 때문에, 클래스가 Object 인 clone 메소드를 호출하면(자), 실행시에 예외가 throw 됩니다.
Object
내의 clone
Cloneable
public int getLineBreakIndex(int start, float maxAdvance)
start
로 시작되어, 그래픽폭이 maxAdvance
의 행에 배치할 수 없는 최초의 문자의 인덱스를 돌려줍니다.
start
- 측정을 개시하는 위치의 문자 인덱스.
start
는 절대 인덱스로,
단락의 개시 위치에 관한 것이 아닌maxAdvance
- 행을 배치하는 그래픽폭
start
로 시작되어,
그래픽폭이 maxAdvance
이내의 행에 배치할 수 있다
마지막 문자의 뒤의 인덱스
IllegalArgumentException
- start
가
단락의 개시 위치보다 전의 경우public float getAdvanceBetween(int start, int limit)
start
로 시작되어,limit
까지의 문자를 포함한 행의 그래픽폭을 돌려줍니다. start
와 limit
는 절대 인덱스로, 패러그래프의 스타트에는 관련하지 않습니다.
start
- 측정을 개시하는 장소의 문자 인덱스limit
- 측정을 종료하는 장소의 문자 인덱스
start
로부터 시작되어,
limit
까지의 문자를 포함한 행의 그래픽폭
IndexOutOfBoundsException
- limit
가
start
보다 작은 경우
IllegalArgumentException
- start
또는
limit
가 단락의 개시 위치와
종료 위치동안에 없는 경우public TextLayout getLayout(int start, int limit)
TextLayout
를 돌려줍니다.
start
- 최초의 문자의 인덱스limit
- 마지막 문자의 다음의 인덱스. 이것은
start
보다 크지 않으면 안 된다
start
로부터 시작되어,
limit
보다 작은 문자의 TextLayout
IndexOutOfBoundsException
- limit
가
start
보다 작은 경우
IllegalArgumentException
- start
또는
limit
가 단락의 개시 위치와
종료 위치동안에 없는 경우public void insertChar(AttributedCharacterIterator newParagraph, int insertPos)
TextMeasurer
가 현재 나타내는 패러그래프에 1 문자를 삽입하고 나서 TextMeasurer
를 갱신합니다. 이 호출뒤,TextMeasurer
는, 텍스트로부터 작성된 새로운 TextMeasurer
와 동등하게 됩니다. 그러나, 일반적으로은, 완전히 제로로부터 새로운 것을 작성하는 것보다 기존의 TextMeasurer
를 갱신한 (분)편이 효율적입니다.
newParagraph
- 삽입을 실행한 후의 단락의
텍스트. null 는 불가insertPos
- 문자를 삽입한 텍스트의
위치. newParagraph
의 개시 위치 이후로,
newParagraph
의 종료 위치에서(보다)
전
IndexOutOfBoundsException
- insertPos
가
newParagraph
의 개시 위치보다 전,
또는 newParagraph
의 종료 위치와 같은가, 그 이후인 경우
NullPointerException
- newParagraph
가
null
의 경우public void deleteChar(AttributedCharacterIterator newParagraph, int deletePos)
TextMeasurer
가 현재 나타내는 패러그래프로 1 문자를 삭제하고 나서 TextMeasurer
를 갱신합니다. 이 호출뒤,TextMeasurer
는, 텍스트로부터 작성된 새로운 TextMeasurer
와 동등하게 됩니다. 그러나, 일반적으로은, 완전히 제로로부터 새로운 것을 작성하는 것보다 기존의 TextMeasurer
를 갱신한 (분)편이 효율적입니다.
newParagraph
- 삭제를 실행한 후의 단락의
텍스트. null 는 불가deletePos
- 문자를 삭제한 텍스트의 위치.
newParagraph
의 개시 위치 이후로,
newParagraph
의 종료 위치를
넘지 않는다
- 예외:
IndexOutOfBoundsException
- deletePos
가
newParagraph
의 개시 위치보다 전,
또는 newParagraph
의 종료 위치에서(보다) 뒤인 경우
NullPointerException
- newParagraph
가
null
의 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.