TransformAttribute 클래스

TransformAttribute 클래스

TransformAttribute 클래스는 변환(transform)의 변경 불가능한(immutable) 래퍼를 제공해요. 그래서 속성으로 안전하게 사용할 수 있어요.

출처: Java API Reference

본문

TextAttribute.TRANSFORM 속성 값은 TransformAttribute 타입으로 지정돼요. 변환을 직접 AffineTransform이 아니라 이 래퍼로 감싸서 쓰는 이유는, AffineTransform은 파생되거나 변경될 수 있는데 속성은 변경 불가능해야 하기 때문이에요. 이 래퍼를 쓰면 변환 값이 안전하게 불변으로 취급돼요.

public final class TransformAttribute
extends Object
implements Serializable

주요 메서드

  • TransformAttribute(AffineTransform tx) — 지정한 변환을 감싸는 인스턴스를 만들어요.
  • getTransform() — 내부의 AffineTransform 복사본을 반환해요.
  • isIdentity() — 변환이 항등 변환이면 true를 반환해요.
  • static final TransformAttribute IDENTITY — 항등 변환을 나타내는 상수예요.

사용 예

TextAttribute.TRANSFORM 값으로 이 래퍼를 지정하면, FontTextLayout이 텍스트에 회전·기울임·스케일 같은 아핀 변환을 적용해 렌더링할 수 있어요.

TransformAttribute.IDENTITY는 기본값으로, 변환을 적용하지 않아요. Font를 만들 때 변환 속성이 없으면 항등 변환이 사용돼요.

더 알아보기