JavaTM Platform
Standard Ed. 6

java.awt.geom
클래스 Path2D

java.lang.Object 
  상위를 확장 java.awt.geom.Path2D
모든 구현된 인터페이스:
Shape , Cloneable
직계의 기존의 서브 클래스:
Path2D.Double , Path2D.Float


public abstract class Path2D
extends Object
implements Shape , Cloneable

Path2D 클래스는, 단순합니다만 유연성이 있는, 임의의 기하학적 패스를 나타내는 형상을 제공합니다. 이 클래스는, 패스의 모든 세그먼트(segment)형과 굴곡 규칙을 포함한 PathIterator 인터페이스에 의해, 반복 처리 할 수 있는 임의의 패스를 완전하게 나타낼 수가 있는 것 외에Shape 인터페이스의 기본적인 맞아 판정의 메소드를 모두 구현합니다.  

부동 소수점 정밀도로 나타내거나 사용하거나 할 수가 있는 데이터를 취급할 때는,Path2D.Float 를 사용합니다. 배정밀도의 정확함 또는 범위를 필요로 하는 데이터에 대해서는 Path2D.Double 를 사용합니다.  

Path2D 는, 기하학적 패스의 기본적인 구축 및 관리로 확실히 필요한 기능을 갖추고 있는 것 외에 전술의 인터페이스에 약간의 해석을 더한 것을 구현하고 있습니다. 단순한 당 판정 뿐만이 아니라, 닫은 기하학 마토가타장의 내부를 조작하는 편이 편리한 경우는,Area 클래스를 사용하면(자), 닫은 도형에 특화한 추가 기능을 사용할 수 있습니다. 어느 쪽의 클래스도 공식상은 Shape 인터페이스를 구현하고 있습니다만, 그 목적이 다릅니다. 조합해 사용하는 것으로써, 기하학 마토가타장에 대해서 편리한 관점을 2 개 제공합니다. Path2D 는 주로 패스 세그먼트(segment)에 의해 형성되는 궤적을 취급하는데 대해,Area 는 2D 기하학적 공간이 닫은 영역의 해석이나 조작이 중심입니다.  

PathIterator 인터페이스에는, 패스를 구성하는 세그먼트(segment)의 형태와 패스의 안쪽 또는 외측에 있는 영역을 특정하는 방법을 제어하는 굴곡 규칙에 대해, 상세한 설명이 준비되어 있습니다.

도입된 버젼:
1.6

상자의 클래스의 개요
static class Path2D.Double
          Double 클래스는, 좌표가 배정밀도 부동 소수점으로써 포함되는 기하학적 패스를 정의합니다.
static class Path2D.Float
          Float 클래스는, 좌표가 단정밀도 부동 소수점으로써 포함되는 기하학적 패스를 정의합니다.
 
필드의 개요
static int WIND_EVEN_ODD
          패스의 내부를 결정하는 우기굴곡 규칙입니다.
static int WIND_NON_ZERO
          패스의 내부를 결정하는 비제로 굴곡 규칙입니다.
 
메소드의 개요
abstract  void append (PathIterator  pi, boolean connect)
          지정된 PathIterator 객체의 기하학적 도형을 패스에 추가합니다.
 void append (Shape  s, boolean connect)
          지정된 Shape 객체의 기하학적 도형을 패스에 추가합니다.
abstract  Object clone ()
          이 객체와 같은 클래스의 새로운 객체를 작성합니다.
 void closePath ()
          마지막 moveTo 의 좌표까지 직선을 draw 해 현재의 서브 패스를 닫습니다.
 boolean contains (double x, double y)
          지정된 좌표가 Shape 의 경계내에 있을지 어떨지를 판정합니다.
 boolean contains (double x, double y, double w, double h)
          Shape 의 내부 영역이, 지정된 구형 영역을 완전하게 포함 할지 어떨지를 판정합니다.
static boolean contains (PathIterator  pi, double x, double y)
          지정된 좌표가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다.
static boolean contains (PathIterator  pi, double x, double y, double w, double h)
          지정된 구형 영역 전체가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다.
static boolean contains (PathIterator  pi, Point2D  p)
          지정된 Point2D 가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다.
static boolean contains (PathIterator  pi, Rectangle2D  r)
          지정된 Rectangle2D 전체가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다.
 boolean contains (Point2D  p)
          지정된 Point2DShape 의 경계내에 있을지 어떨지를 판정합니다.
 boolean contains (Rectangle2D  r)
          Shape 의 내부가, 지정된 Rectangle2D 를 완전하게 내포 할지 어떨지를 판정합니다.
 Shape createTransformedShape (AffineTransform  at)
          이 Path2D 의 변환된 뒤의 버젼을 나타내는, 새로운 Shape 를 돌려줍니다.
abstract  void curveTo (double x1, double y1, double x2, double y2, double x3, double y3)
          3 개의 새로운 점에 의해 정의되는 곡선 세그먼트(segment)를 패스에 추가합니다.
 Rectangle getBounds ()
          Shape 를 완전하게 둘러싸는 정수형 Rectangle 를 돌려줍니다.
 Point2D getCurrentPoint ()
          패스의 마지막에 추가된 가장 새로운 좌표를 Point2D 객체로서 돌려줍니다.
 PathIterator getPathIterator (AffineTransform  at, double flatness)
          Shape 의 경계를 따라 반복 처리를 실시해,Shape 의 윤곽의 기하학적 도형의 평탄화 된 뷰에 액세스 할 수 있도록(듯이) 하는 반복자 객체를 돌려줍니다.
 int getWindingRule ()
          전부 칠해 스타일 굴곡 규칙을 돌려줍니다.
 boolean intersects (double x, double y, double w, double h)
          Shape 의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다.
static boolean intersects (PathIterator  pi, double x, double y, double w, double h)
          지정된 PathIterator 의 내부가, 지정된 구형 좌표 세트의 내부와 교차할지 어떨지를 판정합니다.
static boolean intersects (PathIterator  pi, Rectangle2D  r)
          지정된 PathIterator 의 내부 영역이 지정된 Rectangle2D 의 내부 영역과 교차할지 어떨지를 판정합니다.
 boolean intersects (Rectangle2D  r)
          Shape 의 내부가, 지정된 Rectangle2D 의 내부와 교차할지 어떨지를 판정합니다.
abstract  void lineTo (double x, double y)
          현재의 좌표로부터 배정밀도로 새롭게 지정된 좌표까지 직선을 draw 해 점을 패스에 추가합니다.
abstract  void moveTo (double x, double y)
          배정밀도로 지정된 좌표로 이동해 점을 패스에 추가합니다.
abstract  void quadTo (double x1, double y1, double x2, double y2)
          2 개의 새로운 점에 의해 정의되는 곡선 세그먼트(segment)를 패스에 추가합니다.
 void reset ()
          패스를 빈 상태(empty)에 리셋 합니다.
 void setWindingRule (int rule)
          이 패스의 굴곡 규칙이 지정된 값으로 설정합니다.
abstract  void transform (AffineTransform  at)
          지정된 AffineTransform 를 사용해, 이 패스의 기하학적 도형을 변환합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 
인터페이스 java.awt. Shape 로부터 상속된 메소드
getBounds2D , getPathIterator
 

필드의 상세

WIND_EVEN_ODD

public static final int WIND_EVEN_ODD
패스의 내부를 결정하는 우기굴곡 규칙입니다.

도입된 버젼:
1.6
관련 항목:
PathIterator.WIND_EVEN_ODD , 정수 필드치

WIND_NON_ZERO

public static final int WIND_NON_ZERO
패스의 내부를 결정하는 비제로 굴곡 규칙입니다.

도입된 버젼:
1.6
관련 항목:
PathIterator.WIND_NON_ZERO , 정수 필드치
메소드의 상세

moveTo

public abstract void moveTo(double x,
                            double y)
배정밀도로 지정된 좌표로 이동해 점을 패스에 추가합니다.

파라미터:
x - 지정된 X 좌표
y - 지정된 Y 좌표
도입된 버젼:
1.6

lineTo

public abstract void lineTo(double x,
                            double y)
현재의 좌표로부터 배정밀도로 새롭게 지정된 좌표까지 직선을 draw 해 점을 패스에 추가합니다.

파라미터:
x - 지정된 X 좌표
y - 지정된 Y 좌표
도입된 버젼:
1.6

quadTo

public abstract void quadTo(double x1,
                            double y1,
                            double x2,
                            double y2)
2 개(살)의 새로운 점에 의해 정의되는 곡선 세그먼트(segment)를 패스에 추가합니다. 곡선 세그먼트(segment)는, 지정된 점 (x1, y1) 을 2 차 파라메트릭 제어점으로서 사용해, 현재의 좌표와 지정된 좌표 (x2, y2) 를 통과하는 2 차 곡선으로서 draw 합니다. 모든 좌표는, 배정밀도로 지정됩니다.

파라미터:
x1 - 2 차 제어점의 X 좌표
y1 - 2 차 제어점의 Y 좌표
x2 - 마지막 종점의 X 좌표
y2 - 마지막 종점의 Y 좌표
도입된 버젼:
1.6

curveTo

public abstract void curveTo(double x1,
                             double y1,
                             double x2,
                             double y2,
                             double x3,
                             double y3)
3 개(살)의 새로운 점에 의해 정의되는 곡선 세그먼트(segment)를 패스에 추가합니다. 곡선 세그먼트(segment)는, 지정된 점 (x1, y1) 및 점 (x2, y2) 을 베쥬 제어점으로서 사용해, 현재의 좌표와 지정된 좌표 (x3, y3) 의 양쪽 모두를 통과하는 베지에곡선으로서 draw 합니다. 모든 좌표는, 배정밀도로 지정됩니다.

파라미터:
x1 - 최초의 베쥬 제어점의 X 좌표
y1 - 최초의 베쥬 제어점의 Y 좌표
x2 - 2 번째의 베쥬 제어점의 X 좌표
y2 - 2 번째의 베쥬 제어점의 Y 좌표
x3 - 마지막 종점의 X 좌표
y3 - 마지막 종점의 Y 좌표
도입된 버젼:
1.6

closePath

public final void closePath()
마지막 moveTo 의 좌표까지 직선을 draw 해 현재의 서브 패스를 닫습니다. 패스가 벌써 닫고 있는 경우, 이 메소드는 효과가 없습니다.

도입된 버젼:
1.6

append

public final void append(Shape  s,
                         boolean connect)
지정된 Shape 객체의 기하학적 도형을 패스에 추가합니다. 그 새로운 기하학적 도형을 라인 세그먼트(segment)로 기존의 패스 세그먼트(segment)에 접속하는 일도 가능합니다. connect 파라미터가 true 이며, 패스가 빈 상태(empty)이 아닌 경우, 추가된 Shape 의 기하학적 도형의 초기 moveTolineTo 세그먼트(segment)로 바뀝니다. 그러한 접속 lineTo 세그먼트(segment)의 목적지의 좌표가 현재 열려 있는 서브 패스의 종료 좌표와 일치하는 경우, 세그먼트(segment)는 불필요해서 생략 됩니다. 지정된 Shape 의 굴곡 규칙은 무시되어 추가된 기하학적 도형은 이 패스로 지정된 굴곡 규칙에 제어됩니다.

파라미터:
s - 이 패스에 기하학적 도형이 추가된다 Shape
connect - 새로운 기하학적 도형을 기존의 패스에 접속하기 위해서 초기 moveTo 세그먼트(segment)를 lineTo 세그먼트(segment)에 바꿀지 어떨지를 제어하는 boolean 치
도입된 버젼:
1.6

append

public abstract void append(PathIterator  pi,
                            boolean connect)
지정된 PathIterator 객체의 기하학적 도형을 패스에 추가합니다. 그 새로운 기하학적 도형을 라인 세그먼트(segment)로 기존의 패스 세그먼트(segment)에 접속하는 일도 가능합니다. connect 파라미터가 true 이며, 패스가 빈 상태(empty)이 아닌 경우, 추가된 Shape 의 기하학적 도형의 초기 moveTolineTo 세그먼트(segment)로 바뀝니다. 그러한 접속 lineTo 세그먼트(segment)의 목적지의 좌표가 현재 열려 있는 서브 패스의 종료 좌표와 일치하는 경우, 세그먼트(segment)는 불필요해서 생략 됩니다. 지정된 Shape 의 굴곡 규칙은 무시되어 추가된 기하학적 도형은 이 패스로 지정된 굴곡 규칙에 제어됩니다.

파라미터:
pi - 이 패스에 기하학적 도형이 추가된다 PathIterator
connect - 새로운 기하학적 도형을 기존의 패스에 접속하기 위해서 초기 moveTo 세그먼트(segment)를 lineTo 세그먼트(segment)에 바꿀지 어떨지를 제어하는 boolean 치
도입된 버젼:
1.6

getWindingRule

public final int getWindingRule()
전부 칠해 스타일 굴곡 규칙을 돌려줍니다.

반환값:
현재의 굴곡 규칙을 나타내는 정수
도입된 버젼:
1.6
관련 항목:
WIND_EVEN_ODD , WIND_NON_ZERO , setWindingRule(int)

setWindingRule

public final void setWindingRule(int rule)
이 패스의 굴곡 규칙이 지정된 값으로 설정합니다.

파라미터:
rule - 지정된 굴곡 규칙을 나타낸다 정수
예외:
IllegalArgumentException - 다음의 조건이 성립하는 경우: ruleWIND_EVEN_ODD 에서도 WIND_NON_ZERO 에서도 없는 경우
도입된 버젼:
1.6
관련 항목:
getWindingRule()

getCurrentPoint

public final Point2D  getCurrentPoint()
패스의 마지막에 추가된 가장 새로운 좌표를 Point2D 객체로서 돌려줍니다.

반환값:
패스의 종료 좌표를 포함하는 Point2D 객체, 패스에 점이 없는 경우는 null
도입된 버젼:
1.6

reset

public final void reset()
패스를 빈 상태(empty)에 리셋 합니다. 추가 위치는 패스의 선두로 다시 설정해 모든 좌표 및 점의 타입은 파기됩니다.

도입된 버젼:
1.6

transform

public abstract void transform(AffineTransform  at)
지정된 AffineTransform 를 사용해, 이 패스의 기하학적 도형을 변환합니다. 기하학적 도형은 적절히 변환되어 이것에 의해, 이 객체에 의해 정의되는 경계가 영구적으로 변경됩니다.

파라미터:
at - 영역을 변환하는데 사용하는 AffineTransform
도입된 버젼:
1.6

createTransformedShape

public final Shape  createTransformedShape(AffineTransform  at)
Path2D 의 변환된 뒤의 버젼을 나타내는, 새로운 Shape 를 돌려줍니다. 반환값의 정확한 형태와 좌표의 정밀도는, 이 메소드에서는 지정되지 않습니다. 이 메소드는, 변환된 지오메트리용으로 이 Path2D 가 현재 유지하고 있는 정밀도보다 낮은 정밀도를 포함하지 않는 Shape 를 돌려줍니다만, 보다 높은 정밀도가 포함되지 않는 경우도 있습니다. 결과에서의 정밀도와 스토리지 사이즈의 트레이드 오프가 중요한 경우는, 선택을 명확하게 하기 위해서,Path2D.Float 서브 클래스 및 Path2D.Double 서브 클래스의 간이 생성자 을 사용해 주세요.

파라미터:
at - 새로운 Shape 를 변환하는데 사용한다 AffineTransform
반환값:
지정된 AffineTransform 로 변환된, 새로운 Shape
도입된 버젼:
1.6

getBounds

public final Rectangle  getBounds()
Shape 를 완전하게 둘러싸는 정수형 Rectangle 를 돌려줍니다. 반환된 RectangleShape 를 둘러싸는 최소의 바운딩 박스이다고는 할 수 없습니다. 나타난 Rectangle 내에 Shape 가 완전하게 수습된다고 할 뿐입니다. 또,Shape 가 정수형의 제한 범위를 넘는 경우, 반환된 RectangleShape 를 완전하게 둘러싸지 못하는 것도 있습니다. 일반적으로은,getBounds2D 메소드가, 표현의 자유도가 높기 위해(때문에), 비교적 딱 한 바운딩 박스를 돌려줍니다.

정의:
인터페이스 Shape 내의 getBounds
반환값:
Shape 를 완전하게 둘러싸는 정수형의 Rectangle
도입된 버젼:
1.6
관련 항목:
Shape.getBounds2D()

contains

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

이 메소드는,Shape 인터페이스의 구현자가 Shape.contains(double, double) 메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.

파라미터:
pi - 지정된 PathIterator
x - 지정된 X 좌표
y - 지정된 Y 좌표
반환값:
지정된 좌표가 지정된 PathIterator 내에 있는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.6

contains

public static boolean contains(PathIterator  pi,
                               Point2D  p)
지정된 Point2D 가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다.  

이 메소드는,Shape 인터페이스의 구현자가 Shape.contains(Point2D) 메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.

파라미터:
pi - 지정된 PathIterator
p - 지정된 Point2D
반환값:
지정된 좌표가 지정된 PathIterator 내에 있는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.6

contains

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

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

contains

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

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

contains

public static boolean contains(PathIterator  pi,
                               double x,
                               double y,
                               double w,
                               double h)
지정된 구형 영역 전체가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다.  

이 메소드는,Shape 인터페이스의 구현자가 Shape.contains(double, double, double, double) 메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.  

이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, false 를 돌려주는 일이 있습니다. 그러한 세그먼트(segment)가 WIND_NON_ZERO 굴곡 규칙을 가지는 패스의 일부인 경우, 또는 세그먼트(segment) 세트간에 외부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)가 역방향으로 재트레이스 되는 경우, 세그먼트(segment)는 완전하게 패스의 내부 영역 측에 있을 가능성이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.

파라미터:
pi - 지정된 PathIterator
x - 지정된 X 좌표
y - 지정된 Y 좌표
w - 지정된 구형 영역의 폭
h - 지정된 구형 영역의 높이
반환값:
지정된 PathIterator 가 지정된 구형 영역을 포함한 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.6

contains

public static boolean contains(PathIterator  pi,
                               Rectangle2D  r)
지정된 Rectangle2D 전체가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다.  

이 메소드는,Shape 인터페이스의 구현자가 Shape.contains(Rectangle2D) 메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.  

이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, false 를 돌려주는 일이 있습니다. 그러한 세그먼트(segment)가 WIND_NON_ZERO 굴곡 규칙을 가지는 패스의 일부인 경우, 또는 세그먼트(segment) 세트간에 외부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)가 역방향으로 재트레이스 되는 경우, 세그먼트(segment)는 완전하게 패스의 내부 영역 측에 있을 가능성이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.

파라미터:
pi - 지정된 PathIterator
r - 지정된 Rectangle2D
반환값:
지정된 PathIterator 가 지정된 Rectangle2D 를 포함한 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.6

contains

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

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

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

이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, false 를 돌려주는 일이 있습니다. 그러한 세그먼트(segment)가 WIND_NON_ZERO 굴곡 규칙을 가지는 패스의 일부인 경우, 또는 세그먼트(segment) 세트간에 외부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)가 역방향으로 재트레이스 되는 경우, 세그먼트(segment)는 완전하게 패스의 내부 영역 측에 있을 가능성이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.

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

contains

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

이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, false 를 돌려주는 일이 있습니다. 그러한 세그먼트(segment)가 WIND_NON_ZERO 굴곡 규칙을 가지는 패스의 일부인 경우, 또는 세그먼트(segment) 세트간에 외부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)가 역방향으로 재트레이스 되는 경우, 세그먼트(segment)는 완전하게 패스의 내부 영역 측에 있을 가능성이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.

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

intersects

public static boolean intersects(PathIterator  pi,
                                 double x,
                                 double y,
                                 double w,
                                 double h)
지정된 PathIterator 의 내부가, 지정된 구형 좌표 세트의 내부와 교차할지 어떨지를 판정합니다.  

이 메소드는,Shape 인터페이스의 구현자가 Shape.intersects(double, double, double, double) 메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.  

이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, true 를 돌려주는 일이 있습니다. 세그먼트(segment) 세트간에 내부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)세트가 역방향으로 재트레이스 되는 경우에, 이러한 상태가 발생하는 일이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.

파라미터:
pi - 지정된 PathIterator
x - 지정된 X 좌표
y - 지정된 Y 좌표
w - 지정된 구형 좌표의 폭
h - 지정된 구형 좌표의 높이
반환값:
지정된 PathIterator 와 지정된 구형 좌표 세트의 내부 영역이 교차하는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.6

intersects

public static boolean intersects(PathIterator  pi,
                                 Rectangle2D  r)
지정된 PathIterator 의 내부 영역이 지정된 Rectangle2D 의 내부 영역과 교차할지 어떨지를 판정합니다.  

이 메소드는,Shape 인터페이스의 구현자가 Shape.intersects(Rectangle2D) 메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.  

이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, true 를 돌려주는 일이 있습니다. 세그먼트(segment) 세트간에 내부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)세트가 역방향으로 재트레이스 되는 경우에, 이러한 상태가 발생하는 일이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.

파라미터:
pi - 지정된 PathIterator
r - 지정된 Rectangle2D
반환값:
지정된 PathIterator 와 지정된 Rectangle2D 의 내부 영역이 교차하는 경우는 true, 그렇지 않은 경우는 false
도입된 버젼:
1.6

intersects

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

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

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

이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, true 를 돌려주는 일이 있습니다. 세그먼트(segment) 세트간에 내부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)세트가 역방향으로 재트레이스 되는 경우에, 이러한 상태가 발생하는 일이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.

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

intersects

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

이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, true 를 돌려주는 일이 있습니다. 세그먼트(segment) 세트간에 내부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)세트가 역방향으로 재트레이스 되는 경우에, 이러한 상태가 발생하는 일이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.

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

getPathIterator

public PathIterator  getPathIterator(AffineTransform  at,
                                    double flatness)
Shape 의 경계를 따라 반복 처리를 실시해,Shape 의 윤곽의 기하학적 도형의 평탄화 된 뷰에 액세스 할 수 있도록(듯이) 하는 반복자 객체를 돌려줍니다.  

반복자가 돌려주는 것은, 포인트형 SEG_MOVETO, SEG_LINETO, 및 SEG_CLOSE 뿐입니다.  

옵션의 AffineTransform 가 지정되면(자), 반복 처리로 반환되는 좌표가 거기에 응해 변환됩니다.  

곡선 세그먼트(segment)의 분할의 양은, 평탄화 되지 않는 변환을 받은 곡선상의 점이, 반환되는 평탄화 된 패스 세그먼트(segment)로부터도 와도 떨어지는 거리를 지정하는 flatness 파라미터에 의해 제어됩니다. 평탄화 된 윤곽선의 정밀도에 대해서 예고없이 제한이 더해지는 일이 있어, 이 경우, 매우 작은 평탄화 파라미터가 큰 값으로 해서 다루어지는 일이 있습니다. 이 제한은, 사용되는 특정의 구현에 의해 정해집니다.  

이 메소드를 호출할 때마다, 동시에 사용되고 있는 것 외의 모든 PathIterator 객체 (와)는 관계없는 것으로,Shape 객체의 기하학적 도형을 이동하는 새로운 PathIterator 객체가 돌려주어집니다.  

Shape 인터페이스를 구현하는 객체는, 실행중의 반복 처리를 원의 객체의 기하학적 도형에 대해서 발생할 가능성이 있는 변경으로부터 분리시키는 것이 추천 됩니다만, 이것은 보증되고는 있지 않습니다.  

이 클래스의 반복자는, multi-thread에 대해서 안전하지는 않습니다. 즉 Path2D 클래스에서는, 이 Path2D 객체의 기하학적 도형을 변경하면(자), 이 기하학적 도형에 대해 벌써 진행중의 반복 처리에 영향을 미치는 경우가 있습니다.

정의:
인터페이스 Shape 내의 getPathIterator
파라미터:
at - 반복 처리로 돌려주어질 때 좌표에 적용된다 임의의 AffineTransform, 변환되어 있지 않은 좌표가 필요한 경우는 null
flatness - 곡선 세그먼트(segment)를 근사 하기 위해서 사용된다 라인 세그먼트(segment)가, 원의 곡선상의 임의의 점으로부터 떨어질 수가 있는 최대의 거리
반환값:
Shape 의 기하학적 도형의 평탄화 된 뷰를 독립해 이동하는 새로운 PathIterator
도입된 버젼:
1.6

clone

public abstract Object  clone()
이 객체와 같은 클래스의 새로운 객체를 작성합니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
이 인스턴스의 복제
예외:
OutOfMemoryError - 충분한 메모리가 없는 경우
도입된 버젼:
1.6
관련 항목:
Cloneable

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