Painter
Painter (그리기를 위임하는 페인터 인터페이스)
그리기 위임자(delegate)입니다. Painter 인터페이스는 정확히 하나의 메서드인 paint를 정의합니다.
본문
Painter는 그리기 위임자입니다. Painter 인터페이스는 정확히 하나의 메서드인 paint를 정의하며, 개발자가 컴포넌트를 하위 클래스화하지 않고도 컴포넌트의 그리기 루틴을 변경할 수 있는 상황에서 사용됩니다. 어떤 형태의 그리기 위임을 할 때도 일반적으로 유용합니다.
public interface Painter<T>
Painter는 Java2D 코드의 캡슐화일 뿐이며 기존 Painter를 재사용하거나 결합하는 것을 상당히 쉽게 만듭니다. 이 인터페이스의 구현 작성도 쉬워서, 필요한 Painter를 찾지 못하면 최소한의 노력으로 직접 작성할 수 있습니다. Painter 작성을 위해서는 Java2D에 대한 지식이 필요합니다.
Painter는 타입 매개변수로 생성될 수 있으며, 이 타입은 paint 메서드에서 기대됩니다. 예를 들어 Component의 하위 클래스에서만 동작하는 Painter를 작성하려면 paint 메서드가 타입 안전하도록 Component를 요구한다고 선언할 수 있습니다.
Painter<Component> p = new Painter<Component>() {
public void paint(Graphics2D g, Component c, int width, int height) {
g.setColor(c.getBackground()); //and so forth
}
}
이 인터페이스는 스레드 안전성을 보장하지 않습니다.