JavaTM Platform
Standard Ed. 6

java.awt
클래스 BasicStroke

java.lang.Object 
  상위를 확장 java.awt.BasicStroke
모든 구현된 인터페이스:
Stroke


public class BasicStroke
extends Object
implements Stroke

BasicStroke 클래스는, 단순한 도형의 윤곽선을 draw 하는 속성의 기본 세트를 정의합니다. 이 draw는, Stroke 속성을 이 BasicStroke 로 설정한 Graphics2D 객체에 의해 행해집니다. BasicStroke 로 정의되는 draw 속성은,Shape 의 윤곽을 위를 덧써 펜으로 draw 되는 기호의 형상, 단부의 장식, 또는 Shape 의 윤곽선세그먼트(segment)의 접합을 기술합니다. 이러한 draw 속성에는 다음과 같은 것이 있습니다.

width
펜의 궤적에 대해서 수직 방향의 펜의 폭
첨단
닫혀지지 않은 부분 윤곽선세그먼트(segment)와 파선 세그먼트(segment)의 양단의 장식. 부분 윤곽선의 기점과 종점이 같은 경우에서도, CLOSE 세그먼트(segment)가 없는 경우는 닫지 않다고 보인다. CLOSE 세그먼트(segment)에 대해서는 SEG_CLOSE 를 참조. CAP_BUTT ,CAP_ROUND , 및 CAP_SQUARE 의 3 종류의 장식이 있다
라인 접합
2 개의 윤곽선세그먼트(segment)의 교점, 및 SEG_CLOSE 로 닫혀지는 부분 윤곽선의 양단의 교점의 장식. JOIN_BEVEL ,JOIN_MITER , 및 JOIN_ROUND 의 3 종류의 장식이 있다
접합 제한치
JOIN_MITER 장식의 라인 접합의 트리밍을 실시하는 제한치. 라인 접합의 트리밍은, 접합의 길이의 stroke폭에 대한 비율이, 접합 제한치를 넘었을 경우에 실행된다. 접합의 길이는 접합 부분의 대각선의 길이여, 교점의 안쪽의 모퉁이에서 외측의 모퉁이까지의 거리이다. 2 개의 라인 세그먼트(segment)의 각도가 작아지면 과연, 접합 부분은 길어져, 교차 각도는 작아진다. 디폴트의 접합 제한치 10.0f 에서는, 각도가 11 번보다 작아졌을 경우에 트리밍을 실시한다. 접합의 트리밍에서는 라인 접합의 장식이 사영에 변환된다
파선 속성
불투명 부분과 투명 부분이 교대로 되도록(듯이) 해 파선을 작성하는 방법의 정의
반환되는 윤곽선의 형상을 제어하는 치수나 거리를 지정하는 모든 속성은, stroke가 없는 오리지날의 Shape 인수와 같은 좌표계로 측정됩니다. Graphics2D 객체가 Stroke 객체를 사용해 draw 메소드의 1 개를 실행하고 있는 경우에 윤곽선을 재정의하는 경우,Graphics2D 변환에 의한 속성이 적용되기 전의 오리지날의 기하학적 도형이 사용됩니다. 이 때문에, 펜폭등의 속성은 Graphics2D 객체의 사용자 공간 좌표 시스템의 값으로 해서 해석되어 사용자 공간으로부터 디바이스 공간으로 변환하는 경우에, 슬캘링 효과와 셔링 효과의 영향을 받습니다. 예를 들어, draw 되는 도형의 윤곽의 폭의 결정에는, 이 BasicStroke 의 폭속성 뿐만이 아니라,Graphics2D 객체의 변환 속성도 영향을 줍니다. 이하의 코드를 참조해 주세요.
// sets the Graphics2D object's Transform attirbute g2d.scale(10, 10); // sets the Graphics2D object's Storoke attribute g2d.setStroke(new BasicStroke(1.5f));
Graphics2D 객체에 다른 슬캘링 변환이 추가되어 있지 않은 경우, 생성되는 라인의 폭은 약 15 픽셀이 됩니다. 샘플 코드로 나타나고 있도록(듯이), 특히 Graphics2D 객체를 사용해 대규모 변환이 실행되는 경우는, 부동 소수점 라인이 정밀도가 높아집니다. 대각선의 경우, 정확한 폭은, draw 파이프라인이 이론상의 폭의 윤곽을 위를 덧쓸 때에, 어느 픽셀상에 draw 할까로 결정됩니다. draw 대상 픽셀의 선택에는 anti-aliasing 속성도 영향을 줍니다. anti-aliasing draw 파이프라인은, 부분적으로 덮이는 픽셀도 draw 대상으로 해 선택할 수 있기 (위해)때문에입니다.  

사용자 공간 좌표계와 draw 프로세스에 대해서는,Graphics2D 클래스의 설명을 참조해 주세요.

관련 항목:
Graphics2D

필드의 개요
static int CAP_BUTT
          장식을 붙이지 않고 , 닫혀지지 않은 부분 윤곽선 및 파선 세그먼트(segment)를 종료합니다.
static int CAP_ROUND
          펜폭의 반의 길이를 반경으로 한 둥근 장식을 붙여, 닫혀지지 않은 부분 윤곽선 및 파선 세그먼트(segment)를 종료합니다.
static int CAP_SQUARE
          라인폭의 반의 길이에 동일한 거리만 세그먼트(segment)의 첨단을 연장하는 정방형을 붙여, 닫혀지지 않은 부분 윤곽선 및 파선 세그먼트(segment)를 종료합니다.
static int JOIN_BEVEL
          폭의 넓은 윤곽선의 외측의 모퉁이를 직선 세그먼트(segment)에 접합하도록(듯이) 해 윤곽선세그먼트(segment)를 접합합니다.
static int JOIN_MITER
          라인 세그먼트(segment)의 외측의 구석이 겹칠 때까지 연장해 윤곽선세그먼트(segment)를 접합합니다.
static int JOIN_ROUND
          라인폭의 반의 길이를 반경으로서 모퉁이를 둥글게 잘라 떨어뜨려 윤곽선세그먼트(segment)를 접합합니다.
 
생성자 의 개요
BasicStroke ()
          모든 속성에 디폴트 값를 사용해 새로운 BasicStroke 를 구축합니다.
BasicStroke (float width)
          지정된 선폭과 첨단 및 라인 접합의 스타일의 디폴트 값를 사용해, 실선으로 BasicStroke 를 구축합니다.
BasicStroke (float width, int cap, int join)
          지정된 속성을 가지는 실선의 BasicStroke 를 구축합니다.
BasicStroke (float width, int cap, int join, float miterlimit)
          지정된 속성을 가지는 실선의 BasicStroke 를 구축합니다.
BasicStroke (float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)
          지정된 속성을 가지는 새로운 BasicStroke 를 구축합니다.
 
메소드의 개요
 Shape createStrokedShape (Shape  s)
          지정된 Shape 를 stroke로 draw 한 윤곽을 나타내는 내부를 가지는 Shape 를 돌려줍니다.
 boolean equals (Object  obj)
          지정된 객체가 이 BasicStroke 와 동일한지 어떤지를 판정합니다.
 float[] getDashArray ()
          파선 세그먼트(segment)의 길이를 나타내는 배열을 돌려줍니다.
 float getDashPhase ()
          현재의 파선 국면을 돌려줍니다.
 int getEndCap ()
          첨단의 스타일을 돌려줍니다.
 int getLineJoin ()
          라인 접합의 스타일을 돌려줍니다.
 float getLineWidth ()
          라인의 폭을 돌려줍니다.
 float getMiterLimit ()
          트리밍 제한치를 돌려줍니다.
 int hashCode ()
          이 stroke의 해시 코드를 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

JOIN_MITER

public static final int JOIN_MITER
라인 세그먼트(segment)의 외측의 구석이 겹칠 때까지 연장해 윤곽선세그먼트(segment)를 접합합니다.

관련 항목:
정수 필드치

JOIN_ROUND

public static final int JOIN_ROUND
라인폭의 반의 길이를 반경으로서 모퉁이를 둥글게 잘라 떨어뜨려 윤곽선세그먼트(segment)를 접합합니다.

관련 항목:
정수 필드치

JOIN_BEVEL

public static final int JOIN_BEVEL
폭의 넓은 윤곽선의 외측의 모퉁이를 직선 세그먼트(segment)에 접합하도록(듯이) 해 윤곽선세그먼트(segment)를 접합합니다.

관련 항목:
정수 필드치

CAP_BUTT

public static final int CAP_BUTT
장식을 붙이지 않고 , 닫혀지지 않은 부분 윤곽선 및 파선 세그먼트(segment)를 종료합니다.

관련 항목:
정수 필드치

CAP_ROUND

public static final int CAP_ROUND
펜폭의 반의 길이를 반경으로 한 둥근 장식을 붙여, 닫혀지지 않은 부분 윤곽선 및 파선 세그먼트(segment)를 종료합니다.

관련 항목:
정수 필드치

CAP_SQUARE

public static final int CAP_SQUARE
라인폭의 반의 길이에 동일한 거리만 세그먼트(segment)의 첨단을 연장하는 정방형을 붙여, 닫혀지지 않은 부분 윤곽선 및 파선 세그먼트(segment)를 종료합니다.

관련 항목:
정수 필드치
생성자 의 상세

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join,
                   float miterlimit,
                   float[] dash,
                   float dash_phase)
지정된 속성을 가지는 새로운 BasicStroke 를 구축합니다.

파라미터:
width - 이 BasicStroke 의 폭. 값은 0.0f 이상이 아니면 안된다. 폭이 0.0f 로 설정되어 있는 경우, stroke는 대상의 디바이스상의 가장 가는 라인으로서 draw 된다. 또, 이 때 에일리어징 제거 설정이 사용되는
cap - BasicStroke 의 양단의 장식
join - 윤곽선세그먼트(segment)의 접합부의 장식
miterlimit - 접합 트리밍의 제한치. miterlimit 는 1.0f 이상이 아니면 안되는
dash - 파선 패턴을 나타내는 배열
dash_phase - 파선 패턴 개시 위치의 오프셋(offset)
예외:
IllegalArgumentException - width 가 0 보다 작은 값의 경우
IllegalArgumentException - cap 가 CAP_BUTT, CAP_ROUND, 또는 CAP_SQUARE 의 어떤 것도 아닌 경우
IllegalArgumentException - miterlimit 가 1 보다 작고, join 가 JOIN_MITER 의 경우
IllegalArgumentException - join 가 JOIN_ROUND, JOIN_BEVEL, 또는 JOIN_MITER 의 어떤 것도 아닌 경우
IllegalArgumentException - dash_phase 가 0 보다 작은 값으로, dashnull 가 아닌 경우
IllegalArgumentException - dash 의 길이가 제로의 경우
IllegalArgumentException - 파선의 길이가 모두 제로의 경우

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join,
                   float miterlimit)
지정된 속성을 가지는 실선의 BasicStroke 를 구축합니다.

파라미터:
width - BasicStroke 의 폭
cap - BasicStroke 의 양단의 장식
join - 윤곽선세그먼트(segment)의 접합부의 장식
miterlimit - 접합 트리밍의 제한치
예외:
IllegalArgumentException - width 가 0 보다 작은 값의 경우
IllegalArgumentException - cap 가 CAP_BUTT, CAP_ROUND, 또는 CAP_SQUARE 의 어떤 것도 아닌 경우
IllegalArgumentException - miterlimit 가 1 보다 작고, join 가 JOIN_MITER 의 경우
IllegalArgumentException - join 가 JOIN_ROUND, JOIN_BEVEL, 또는 JOIN_MITER 의 어떤 것도 아닌 경우

BasicStroke

public BasicStroke(float width,
                   int cap,
                   int join)
지정된 속성을 가지는 실선의 BasicStroke 를 구축합니다. 디폴트 값로 상관없는 경우나, 라인 접합이 JOIN_MITER 로 지정되어 있지 않은 경우는,miterlimit 파라미터는 불필요합니다.

파라미터:
width - BasicStroke 의 폭
cap - BasicStroke 의 양단의 장식
join - 윤곽선세그먼트(segment)의 접합부의 장식
예외:
IllegalArgumentException - width 가 0 보다 작은 값의 경우
IllegalArgumentException - cap 가 CAP_BUTT, CAP_ROUND, 또는 CAP_SQUARE 의 어떤 것도 아닌 경우
IllegalArgumentException - join 가 JOIN_ROUND, JOIN_BEVEL, 또는 JOIN_MITER 의 어떤 것도 아닌 경우

BasicStroke

public BasicStroke(float width)
지정된 선폭과 첨단 및 라인 접합의 스타일의 디폴트 값를 사용해, 실선으로 BasicStroke 를 구축합니다.

파라미터:
width - BasicStroke 의 폭
예외:
IllegalArgumentException - width 가 0 보다 작은 값의 경우

BasicStroke

public BasicStroke()
모든 속성에 디폴트 값를 사용해 새로운 BasicStroke 를 구축합니다. 디폴트의 속성은, 실선의 폭 1.0, CAP_SQUARE, JOIN_MITER, 트리밍 제한치 10.0 입니다.

메소드의 상세

createStrokedShape

public Shape  createStrokedShape(Shape  s)
지정된 Shape 를 stroke로 draw 한 윤곽을 나타내는 내부를 가지는 Shape 를 돌려줍니다.

정의:
인터페이스 Stroke 내의 createStrokedShape
파라미터:
s - stroke로 draw 되는 Shape 의 경계
반환값:
stroke로 draw 된 윤곽을 나타내는 Shape

getLineWidth

public float getLineWidth()
라인의 폭을 돌려줍니다. Java 2D 로 디폴트의 좌표 공간으로서 사용되는 사용자 공간에서의 값이 돌려주어집니다. 사용자 공간의 좌표계에 대해서는,Graphics2D 클래스의 해설을 참조해 주세요.

반환값:
BasicStroke 의 라인폭
관련 항목:
Graphics2D

getEndCap

public int getEndCap()
첨단의 스타일을 돌려줍니다.

반환값:
BasicStroke 의 첨단의 스타일. 첨단의 스타일을 정의하는 static int 치로서 반환된다

getLineJoin

public int getLineJoin()
라인 접합의 스타일을 돌려줍니다.

반환값:
BasicStroke 의 라인 접합의 스타일. 라인 접합의 스타일을 정의하는 static int 치로서 반환된다

getMiterLimit

public float getMiterLimit()
트리밍 제한치를 돌려줍니다.

반환값:
BasicStroke 의 트리밍 제한치

getDashArray

public float[] getDashArray()
파선 세그먼트(segment)의 길이를 나타내는 배열을 돌려줍니다. 배열내의 엔트리가, 파선의 불투명 세그먼트(segment)와 투명 세그먼트(segment)의 사용자 공간에서의 길이를 교대로 나타냅니다. stroke로 draw 되는 Shape 의 윤곽에 따라 펜이 이동하는 것에 따라, 펜이 이동하는 사용자 공간의 거리가 누적됩니다. 거리의 값은, 파선 배열의 인덱스에 사용됩니다. 현재의 누적 거리가 파선 배열의 짝수 번째의 요소에 매핑 되는 경우, 펜은 불투명하게 되어, 홀수 번째의 요소에 매핑 되는 경우는 투명하게 됩니다.

반환값:
파선 배열

getDashPhase

public float getDashPhase()
현재의 파선 국면을 돌려줍니다. 파선 국면은, 파선 패턴내에서의 오프셋(offset)를 나타내는 사용자 공간에서 지정된 거리입니다. 즉, 파선 국면은, stroke의 선두에 대응하는 파선 패턴내의 점을 정의합니다.

반환값:
float 치의 파선 국면

hashCode

public int hashCode()
이 stroke의 해시 코드를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 stroke의 해시 코드
관련 항목:
Object.equals(java.lang.Object) , Hashtable

equals

public boolean equals(Object  obj)
지정된 객체가 이 BasicStroke 와 동일한지 어떤지를 판정합니다. 최초로 객체가 BasicStroke 인지를 판정해, 다음에 각각의 BasicStroke 객체의 폭, 접합, 첨단, 트리밍 제한치, 파선, 및 파선 국면 속성을 비교합니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 이 BasicStroke 와 비교하는 객체
반환값:
2 개의 객체의 폭, 접합, 첨단, 트리밍 제한치, 파선, 및 파선 국면이 같은 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

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 도 참조해 주세요.