Stroke — 윤곽 장식 인터페이스

Stroke — 윤곽 장식 인터페이스

Stroke 인터페이스는 Graphics2D 객체가 지정한 Shape의 장식된 윤곽(outline), 즉 윤곽의 양식적 표현인 Shape를 얻을 수 있게 해요.

출처: Java API Reference

본문

public interface Stroke {
    Shape createStrokedShape(Shape p);
}

Shape에 획(stroke)을 긋는 것은 적절한 크기와 모양의 마킹 펜으로 그 윤곽을 따라 그리는 것과 같아요. 펜이 잉크를 놓는 영역이 Stroke가 반환하는 윤곽 Shape가 둘러싸는 영역이에요.

Stroke 객체가 반환하는 윤곽 Shape를 사용하는 Graphics2D 인터페이스 메서드에는 draw와 그 메서드를 기반으로 구현되는 drawLine, drawRect, drawRoundRect, drawOval, drawArc, drawPolyline, drawPolygon 등이 있어요.

Stroke를 구현하는 클래스의 객체는 읽기 전용이어야 해요. 그 이유는 Graphics2DsetStroke 메서드로 속성으로 설정하거나 Graphics2D 객체 자체를 복제할 때 이 객체들을 복제하지 않기 때문이에요.

Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(3.0f));
g2.draw(rect);

BasicStroke가 가장 대표적인 구현이에요. 선 폭, 끝 모양(cap), 연결 모양(join), 대시 패턴 등을 지정할 수 있어요.

더 알아보기