JavaTM Platform
Standard Ed. 6

java.awt
클래스 Polygon

java.lang.Object 
  상위를 확장 java.awt.Polygon
모든 구현된 인터페이스:
Shape , Serializable


public class Polygon
extends Object
implements Shape , Serializable

Polygon 클래스는, 좌표 공간을 가지는 닫혀진 2 차원 영역의 기술을 캡슐화합니다. 이 영역은, 다각형의 1 옆을 이루는 선세그먼트(segment)의 임의의 수에 의해 경계를 단락지어집니다. 내부적으로는, 다각형은 (x, y) 좌표 페어의 리스트로부터 구성됩니다. 이 경우, 각 페어는 다각형의 「정점」을 정의해, 연속하는 2 개의 페어는 다각형의 1 옆을 이루는 선의 단 점이 됩니다. (x, y) 점의 최초와 마지막 페어는, 다각형을 닫는 선세그먼트(segment)에 의해 결합됩니다. 이 Polygon 는 우기굴곡 규칙에 의해 정의됩니다. 우기굴곡 규칙의 정의에 대해서는,WIND_EVEN_ODD 를 참조해 주세요. contains,intersects, 및 inside 메소드를 포함한 이 클래스의 히트 검사 메소드는,Shape 클래스의 코멘트에 기술된 「안쪽」의 정의를 사용합니다.

도입된 버젼:
1.0
관련 항목:
Shape , 직렬화 된 형식

필드의 개요
protected  Rectangle bounds
          이 Polygon 의 경계입니다.
 int npoints
          점의 총수입니다.
 int[] xpoints
          X 좌표의 배열입니다.
 int[] ypoints
          Y 좌표의 배열입니다.
 
생성자 의 개요
Polygon ()
          빈 상태(empty)의 다각형을 작성합니다.
Polygon (int[] xpoints, int[] ypoints, int npoints)
          지정된 파라미터로부터 Polygon 를 구축 및 초기화합니다.
 
메소드의 개요
 void addPoint (int x, int y)
          이 Polygon 로 지정된 좌표를 추가합니다.
 boolean contains (double x, double y)
          지정된 좌표가 Shape 의 경계내에 있을지 어떨지를 판정합니다.
 boolean contains (double x, double y, double w, double h)
          Shape 의 내부 영역이, 지정된 구형 영역을 완전하게 포함 할지 어떨지를 판정합니다.
 boolean contains (int x, int y)
          지정된 좌표가 이 Polygon 의 안쪽에 있을지 어떨지를 판정합니다.
 boolean contains (Point  p)
          지정된 Point 가 이 Polygon 의 안쪽에 있을지 어떨지를 판정합니다.
 boolean contains (Point2D  p)
          지정된 Point2DShape 의 경계내에 있을지 어떨지를 판정합니다.
 boolean contains (Rectangle2D  r)
          Shape 의 내부가, 지정된 Rectangle2D 를 완전하게 내포 할지 어떨지를 판정합니다.
 Rectangle getBoundingBox ()
          추천 되고 있지 않습니다.  JDK version 1.1 이후는, getBounds() 로 옮겨졌습니다.
 Rectangle getBounds ()
          이 Polygon 의 바운딩 박스를 돌려줍니다.
 Rectangle2D getBounds2D ()
          고정밀도로 getBounds 메소드보다 정밀한,Shape 의 바운딩 박스를 돌려줍니다.
 PathIterator getPathIterator (AffineTransform  at)
          이 Polygon 의 경계를 따라 반복 처리를 실시해,Polygon 의 윤곽의 기하학적 도형에의 액세스를 제공하는 반복자 객체를 돌려줍니다.
 PathIterator getPathIterator (AffineTransform  at, double flatness)
          Shape 의 경계를 따라 반복 처리를 실시해,Shape 의 윤곽의 기하학적 도형에의 액세스를 제공하는 반복자 객체를 돌려줍니다.
 boolean inside (int x, int y)
          추천 되고 있지 않습니다.  JDK version 1.1 이후는, contains(int, int) 로 옮겨졌습니다.
 boolean intersects (double x, double y, double w, double h)
          Shape 의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다.
 boolean intersects (Rectangle2D  r)
          Shape 의 내부가, 지정된 Rectangle2D 의 내부와 교차할지 어떨지를 판정합니다.
 void invalidate ()
          이 Polygon 의 정점의 좌표에 의존하는 내부에 캐쉬된 모든 데이터를 무효로 하는지, 또는 플래시 합니다.
 void reset ()
          이 Polygon 객체를 빈 상태(empty)의 다각형에 리셋 합니다.
 void translate (int deltaX, int deltaY)
          Polygon 의 정점을 x 축으로 따라 deltaX, 및 y 축으로 따라 deltaY 이동합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

npoints

public int npoints
점의 총수입니다. npoints 의 값은 이 Polygon 의 유효한 점의 수를 나타내,xpoints 또는 ypoints 의 요소의 수보다 작아집니다. 이 값은 null 를 취할 수가 있습니다.

도입된 버젼:
1.0
관련 항목:
addPoint(int, int)

xpoints

public int[] xpoints
X 좌표의 배열입니다. 이 배열의 요소의 수는, 이 Polygon 의 X 좌표의 수보다 커집니다. 여분의 요소에 의해, 이 배열을 재차 작성하지 않고 , 이 Polygon 에 새로운 점을 추가할 수 있습니다. npoints 의 값은, 이 Polygon 의 유효한 점의 수와 같습니다.

도입된 버젼:
1.0
관련 항목:
addPoint(int, int)

ypoints

public int[] ypoints
Y 좌표의 배열입니다. 이 배열의 요소의 수는, 이 Polygon 의 Y 좌표의 수보다 커집니다. 여분의 요소에 의해, 이 배열을 재차 작성하지 않고 , 이 Polygon 에 새로운 점을 추가할 수 있습니다. npoints 의 값은, 이 Polygon 의 유효한 점의 수와 같습니다.

도입된 버젼:
1.0
관련 항목:
addPoint(int, int)

bounds

protected Rectangle  bounds
Polygon 의 경계입니다. null 도 사용할 수 있습니다.

도입된 버젼:
1.0
관련 항목:
getBoundingBox() , getBounds()
생성자 의 상세

Polygon

public Polygon()
빈 상태(empty)의 다각형을 작성합니다.

도입된 버젼:
1.0

Polygon

public Polygon(int[] xpoints,
               int[] ypoints,
               int npoints)
지정된 파라미터로부터 Polygon 를 구축 및 초기화합니다.

파라미터:
xpoints - X 좌표의 배열
ypoints - Y 좌표의 배열
npoints - Polygon 의 점의 총수
예외:
NegativeArraySizeException - npoints 의 값이 부의 경우
IndexOutOfBoundsException - npointsxpoints 의 길이 또는 ypoints 의 길이보다 큰 경우
NullPointerException - xpoints 또는 ypointsnull 의 경우
도입된 버젼:
1.0
메소드의 상세

reset

public void reset()
Polygon 객체를 빈 상태(empty)의 다각형에 리셋 합니다. 그 중에 있는 좌표 배열과 데이터는 그대로 남습니다만, 점의 수는 제로에 리셋 되어 낡은 정점의 데이터를 무효로서 마크 해, 최초부터 새로운 정점의 데이터의 축적을 개시합니다. 내부에 캐쉬된 모든 낡은 정점으로 관한 데이터는 파기됩니다. 리셋 하기 전의 좌표 배열이 재사용되므로, 새로운 다각형의 데이터의 정점의 수가 리셋전의 데이터의 정점의 수보다 꽤 작은 경우는, 새로운 빈 상태(empty)의 Polygon 의 작성이 현재의 다각형을 리셋 하는 것보다도 메모리를 보다 효율적으로 사용할 수 있는 것에 주의해 주세요.

도입된 버젼:
1.4
관련 항목:
invalidate()

invalidate

public void invalidate()
Polygon 의 정점의 좌표에 의존하는 내부에 캐쉬된 모든 데이터를 무효로 하는지, 또는 플래시 합니다. 이 메소드는,xpoints 또는 ypoints 배열의 좌표를 직접 조작한 뒤에 호출할 필요가 있습니다. 이것은, 정점의 좌표에 관련하기 이전의 계산으로부터 데이터를 캐쉬하고 있는 getBounds 또는 contains 등의 메소드로부터 일관한 결과를 얻을 수 있도록(듯이) 하기 (위해)때문에입니다.

도입된 버젼:
1.4
관련 항목:
getBounds()

translate

public void translate(int deltaX,
                      int deltaY)
Polygon 의 정점을 x 축으로 따라 deltaX, 및 y 축으로 따라 deltaY 이동합니다.

파라미터:
deltaX - X 축으로 따라 이동하는 거리
deltaY - Y 축으로 따라 이동하는 거리
도입된 버젼:
1.1

addPoint

public void addPoint(int x,
                     int y)
Polygon 로 지정된 좌표를 추가합니다.  

Polygon 의 바운딩 박스를 계산하는 getBounds 또는 contains 등의 연산이 벌써 실행되고 있는 경우, 이 메소드는 바운딩 박스를 갱신합니다.

파라미터:
x - 지정된 X 좌표
y - 지정된 Y 좌표
도입된 버젼:
1.0
관련 항목:
getBounds() , contains(java.awt.Point)

getBounds

public Rectangle  getBounds()
Polygon 의 바운딩 박스를 돌려줍니다. 이 바운딩 박스는 옆이 좌표 공간의 x 축 및 y 축으로 평행으로 Polygon 를 완전하게 포함하는 최소 Rectangle 입니다.

정의:
인터페이스 Shape 내의 getBounds
반환값:
Polygon 의 경계를 정의한다 Rectangle
도입된 버젼:
1.1
관련 항목:
Shape.getBounds2D()

getBoundingBox

@Deprecated 
public Rectangle  getBoundingBox()
추천 되고 있지 않습니다.  JDK version 1.1 이후는, getBounds() 로 옮겨졌습니다.

Polygon 의 경계를 돌려줍니다.

반환값:
Polygon 의 경계
도입된 버젼:
1.0

contains

public boolean contains(Point  p)
지정된 Point 가 이 Polygon 의 안쪽에 있을지 어떨지를 판정합니다.

파라미터:
p - 판정 대상의, 지정된 Point
반환값:
PolygonPoint 가 포함되는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.0
관련 항목:
contains(double, double)

contains

public boolean contains(int x,
                        int y)
지정된 좌표가 이 Polygon 의 안쪽에 있을지 어떨지를 판정합니다.  

파라미터:
x - 판정 대상의 지정된 X 좌표
y - 판정 대상의 지정된 Y 좌표
반환값:
Polygon 로 지정된 좌표 (x, y) 가 포함되는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.1
관련 항목:
contains(double, double)

inside

@Deprecated 
public boolean inside(int x,
                                 int y)
추천 되고 있지 않습니다.  JDK version 1.1 이후는, contains(int, int) 로 옮겨졌습니다.

지정된 좌표가 이 Polygon 에 내포 되고 있는지 어떤지를 판정합니다.

파라미터:
x - 판정 대상의 지정된 X 좌표
y - 판정 대상의 지정된 Y 좌표
반환값:
Polygon 로 지정된 좌표 (x, y) 가 포함되는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.0
관련 항목:
contains(double, double)

getBounds2D

public Rectangle2D  getBounds2D()
고정밀도로 getBounds 메소드보다 정밀한,Shape 의 바운딩 박스를 돌려줍니다. 반환된 Rectangle2DShape 를 둘러싸는 최소의 바운딩 박스이다고는 할 수 없습니다. 나타난 Rectangle2D 내에 Shape 가 완전하게 수습된다고 할 뿐입니다. 반환값을, 배정밀도치를 사용해 치수를 포함하는 Rectangle2D 의 인스턴스로 할 수도 있기 (위해)때문에, 이 메소드에 의해 반환되는 바운딩 박스는, 일반적으로,getBounds 메소드에 의해 반환되는 바운딩 박스보다 딱 한 것이 되어, 오버플로우를 위해서(때문에) 실패할 것은 없습니다.

정의:
인터페이스 Shape 내의 getBounds2D
반환값:
Shape 의 고정밀도 바운딩 박스를 나타낸다 Rectangle2D 의 인스턴스
도입된 버젼:
1.2
관련 항목:
Shape.getBounds()

contains

public boolean contains(double x,
                        double y)
지정된 좌표가 Shape 의 경계내에 있을지 어떨지를 판정합니다.

정의:
인터페이스 Shape 내의 contains
파라미터:
x - 판정 대상의 지정된 X 좌표
y - 판정 대상의 지정된 Y 좌표
반환값:
지정된 좌표가 Shape 의 경계내에 있는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.2

contains

public boolean contains(Point2D  p)
지정된 Point2DShape 의 경계내에 있을지 어떨지를 판정합니다.

정의:
인터페이스 Shape 내의 contains
파라미터:
p - 판정 대상의, 지정된 Point2D
반환값:
지정된 Point2DShape 의 경계내에 있는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.2

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
Shape 의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다. Shape 의 내부 영역과 지정된 구형 영역의 양쪽 모두에 포함되는 점이 있는 경우, 구형 영역은 Shape 와 교차하고 있다고 보여집니다.  

Shape.intersects() 메소드를 사용하면(자), 다음과 같은 경우에 Shape 구현은 true 를 돌려주는 일이 있습니다.

즉,Shape 에 따라서는, 구형 영역이 Shape 와 교차하지 않는 경우에서도 이 메소드가 true 를 돌려주는 일이 있습니다. Area 클래스는, 대부분의 Shape 객체의 기하학적인 공통 부분의 것보다 정밀한 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.

정의:
인터페이스 Shape 내의 intersects
파라미터:
x - 지정된 구형 영역의 좌상구석의 X 좌표
y - 지정된 구형 영역의 좌상구석의 Y 좌표
w - 지정된 구형 영역의 폭
h - 지정된 구형 영역의 높이
반환값:
Shape 의 내부 영역과 구형 영역의 내부 영역이 교차하는 경우, 또는 교차할 가능성이 높지만, 부하가 너무 커 공통 부분의 계산을 실시할 수 없는 경우도 true, 그렇지 않은 경우는 false
도입된 버젼:
1.2
관련 항목:
Area

intersects

public boolean intersects(Rectangle2D  r)
Shape 의 내부가, 지정된 Rectangle2D 의 내부와 교차할지 어떨지를 판정합니다. Shape.intersects() 메소드를 사용하면(자), 다음과 같은 경우에 Shape 구현은 true 를 돌려주는 일이 있습니다. 즉,Shape 에 따라서는,Rectangle2DShape 와 교차하지 않는 경우에서도 이 메소드가 true 를 돌려주는 일이 있습니다. Area 클래스는, 대부분의 Shape 객체의 기하학적인 공통 부분의 것보다 정밀한 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.

정의:
인터페이스 Shape 내의 intersects
파라미터:
r - 지정된 Rectangle2D
반환값:
Shape 의 내부 영역과 지정된 Rectangle2D 의 내부 영역이 교차하는 경우, 또는 교차할 가능성이 높지만, 부하가 너무 커 공통 부분의 계산을 실시할 수 없는 경우도 true, 그렇지 않은 경우는 false
도입된 버젼:
1.2
관련 항목:
Shape.intersects(double, double, double, double)

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
Shape 의 내부 영역이, 지정된 구형 영역을 완전하게 포함 할지 어떨지를 판정합니다. 구형 영역 전체가 Shape 에 포함 되고 있다고 보여지기 위해서(때문에)는, 구형 영역내에 있는 모든 좌표가 Shape 내에 위치하고 있을 필요가 있습니다.  

Shape.contains() 메소드를 사용하면(자), 다음과 같은 경우에 Shape 구현은 false 를 돌려주는 일이 있습니다.

즉,Shape 에 따라서는,Shape 가 구형 영역을 포함 하는 경우에서도 이 메소드가 false 를 돌려주는 일이 있습니다. Area 클래스는, 대부분의 Shape 객체의 것보다 정밀한 기하학적 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.

정의:
인터페이스 Shape 내의 contains
파라미터:
x - 지정된 구형 영역의 좌상구석의 X 좌표
y - 지정된 구형 영역의 좌상구석의 Y 좌표
w - 지정된 구형 영역의 폭
h - 지정된 구형 영역의 높이
반환값:
Shape 의 내부 영역이, 지정된 구형 영역을 완전하게 포함 하는 경우는 true, 그렇지 않은 경우는 false. 또,Shape 가 구형 영역을 포함 해, intersects 메소드가 true 를 돌려주어, 부하가 너무 커 포함의 계산을 실시할 수 없는 경우도 false
도입된 버젼:
1.2
관련 항목:
Area , Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2D  r)
Shape 의 내부가, 지정된 Rectangle2D 를 완전하게 내포 할지 어떨지를 판정합니다. Shape.contains() 메소드를 사용하면(자), 다음과 같은 경우에 Shape 구현은 false 를 돌려주는 일이 있습니다. 즉,Shape 에 따라서는,ShapeRectangle2D 를 포함 하는 경우에서도 이 메소드가 false 를 돌려주는 일이 있습니다. Area 클래스는, 대부분의 Shape 객체의 것보다 정밀한 기하학적 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.

정의:
인터페이스 Shape 내의 contains
파라미터:
r - 지정된 Rectangle2D
반환값:
Shape 의 내부 영역이,Rectangle2D 를 완전하게 포함 하는 경우는 true, 그렇지 않은 경우는 false. 또,ShapeRectangle2D 를 포함 해, intersects 메소드가 true 를 돌려주어, 부하가 너무 커 포함의 계산을 실시할 수 없는 경우도 false
도입된 버젼:
1.2
관련 항목:
Shape.contains(double, double, double, double)

getPathIterator

public PathIterator  getPathIterator(AffineTransform  at)
Polygon 의 경계를 따라 반복 처리를 실시해,Polygon 의 윤곽의 기하학적 도형에의 액세스를 제공하는 반복자 객체를 돌려줍니다. 임의로 AffineTransform 를 지정할 수 있어 그 경우는 반복 처리로 반환되는 좌표는 거기에 응해 변환됩니다.

정의:
인터페이스 Shape 내의 getPathIterator
파라미터:
at - 반복 처리로 돌려주어질 때 좌표에 적용된다 옵션의 AffineTransform, 변환되어 있지 않은 좌표가 필요한 경우는 null
반환값:
Polygon 의 기하학적 도형에의 액세스를 제공한다 PathIterator 객체
도입된 버젼:
1.2

getPathIterator

public PathIterator  getPathIterator(AffineTransform  at,
                                    double flatness)
Shape 의 경계를 따라 반복 처리를 실시해,Shape 의 윤곽의 기하학적 도형에의 액세스를 제공하는 반복자 객체를 돌려줍니다. 반복자가 돌려주는 것은, 포인트형 SEG_MOVETO, SEG_LINETO, 및 SEG_CLOSE 뿐입니다. 다각형은 벌써 평탄하기 때문에,flatness 파라미터는 무시됩니다. 옵션의 AffineTransform 는, 반복 처리로 반환되는 좌표가 거기에 응해 변환되는 경우로 지정할 수가 있습니다.

정의:
인터페이스 Shape 내의 getPathIterator
파라미터:
at - 반복 처리로 돌려주어질 때 좌표에 적용된다 옵션의 AffineTransform, 변환되어 있지 않은 좌표가 필요한 경우는 null
flatness - 분할된 곡선이 종점을 묶는 직선에 의해 치환되기 전에, 지정된 곡선의 제어점이 공선으로부터 빗나갈 수 있다 최대 거리. 다각형은 벌써 평탄하기 때문에, flatness 파라미터는 무시된다
반환값:
Shape 객체의 기하학적 도형에의 액세스를 제공하는 PathIterator 객체
도입된 버젼:
1.2

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