public abstract class RectangularShape extends Object implements Shape, Cloneable
RectangularShapeは、幾何学的図形が矩形フレームによって定義される多くのShapeオブジェクトの基底クラスです。 このクラスは、それ自体では特定のどの幾何学的図形も直接に指定せず、単にShapeオブジェクトのカテゴリ全体によって継承される操作メソッドを提供します。 このクラスが提供する操作メソッドを使用すると、サブクラスがその幾何学的図形を定義するための参照を提供する矩形フレームを問い合わせたり、変更したりできます。 | 修飾子 | コンストラクタ | 説明 |
|---|---|---|
protected |
RectangularShape() |
これは、インスタンスを直接には生成できない抽象クラスです。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
Object |
clone() |
このオブジェクトと同じクラスで、同じ内容の新しいオブジェクトを作成します。
|
boolean |
contains(Point2D p) |
|
boolean |
contains(Rectangle2D r) |
Shapeの内部に、指定されたRectangle2Dが完全に含まれるかどうかをテストします。 |
Rectangle |
getBounds() |
Shapeを完全に囲む整数のRectangleを返します。 |
double |
getCenterX() |
Shapeの表示枠矩形の中心のX座標をdouble精度で返します。 |
double |
getCenterY() |
Shapeの表示枠矩形の中心のY座標をdouble精度で返します。 |
Rectangle2D |
getFrame() |
このオブジェクトの形状全体を定義する表示枠
Rectangle2Dを返します。 |
abstract double |
getHeight() |
表示枠矩形の高さを
double精度で返します。 |
double |
getMaxX() |
Shapeの表示枠矩形の最大のX座標をdouble精度で返します。 |
double |
getMaxY() |
Shapeの表示枠矩形の最大のY座標をdouble精度で返します。 |
double |
getMinX() |
Shapeの表示枠矩形の最小のX座標をdouble精度で返します。 |
double |
getMinY() |
Shapeの表示枠矩形の最小のY座標をdouble精度で返します。 |
PathIterator |
getPathIterator(AffineTransform at, double flatness) |
Shapeオブジェクトの境界に沿って反復処理するイテレータ・オブジェクトを返し、Shapeオブジェクトの幾何学的図形の輪郭の平坦化されたビューへのアクセスを提供します。 |
abstract double |
getWidth() |
表示枠矩形の幅を
double精度で返します。 |
abstract double |
getX() |
表示枠矩形の左上隅のX座標を
double精度で返します。 |
abstract double |
getY() |
表示枠矩形の左上隅のY座標を
double精度で返します。 |
boolean |
intersects(Rectangle2D r) |
Shapeの内部が指定されたRectangle2Dの内部と交差しているかどうかをテストします。 |
abstract boolean |
isEmpty() |
RectangularShapeが空であるかどうかを判定します。 |
abstract void |
setFrame(double x, double y, double w, double h) |
この
Shapeの表示枠矩形の位置とサイズを、指定された矩形値に設定します。 |
void |
setFrame(Point2D loc, Dimension2D size) |
この
Shapeの表示枠矩形の位置とサイズを、それぞれ指定されたPoint2DとDimension2Dに設定します。 |
void |
setFrame(Rectangle2D r) |
この
Shapeの表示枠矩形を、指定されたRectangle2Dに設定します。 |
void |
setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY) |
この
Shapeの表示枠矩形を、指定された中心点および角の点の座標に基づいて設定します。 |
void |
setFrameFromCenter(Point2D center, Point2D corner) |
この
Shapeの表示枠矩形を、中心を表すPoint2Dおよび角を表すPoint2Dに基づいて設定します。 |
void |
setFrameFromDiagonal(double x1, double y1, double x2, double y2) |
この
Shapeの表示枠矩形の対角線を、指定された2つの座標に基づいて設定します。 |
void |
setFrameFromDiagonal(Point2D p1, Point2D p2) |
この
Shapeの表示枠矩形の対角線を、指定された2つのPoint2Dオブジェクトに基づいて設定します。 |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcontains, contains, getBounds2D, getPathIterator, intersectsprotected RectangularShape()
Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2Dpublic abstract double getX()
double精度で返します。public abstract double getY()
double精度で返します。public abstract double getWidth()
double精度で返します。public abstract double getHeight()
double精度で返します。public double getMinX()
Shapeの表示枠矩形の最小のX座標をdouble精度で返します。Shapeの表示枠矩形の最小のX座標。public double getMinY()
Shapeの表示枠矩形の最小のY座標をdouble精度で返します。Shapeの表示枠矩形の最小のY座標。public double getMaxX()
Shapeの表示枠矩形の最大のX座標をdouble精度で返します。Shapeの表示枠矩形の最大のX座標。public double getMaxY()
Shapeの表示枠矩形の最大のY座標をdouble精度で返します。Shapeの表示枠矩形の最大のY座標。public double getCenterX()
Shapeの表示枠矩形の中心のX座標をdouble精度で返します。Shapeの表示枠矩形の中心のX座標。public double getCenterY()
Shapeの表示枠矩形の中心のY座標をdouble精度で返します。Shapeの表示枠矩形の中心のY座標。public Rectangle2D getFrame()
Rectangle2Dを返します。double座標で指定されたRectangle2D。setFrame(double, double, double, double), setFrame(Point2D, Dimension2D), setFrame(Rectangle2D)public abstract boolean isEmpty()
RectangularShapeが空であるかどうかを判定します。 RectangularShapeが空の場合は、領域はありません。 RectangularShapeが空である場合はtrue、そうでない場合はfalse。public abstract void setFrame(double x,
double y,
double w,
double h)
Shapeの表示枠矩形の位置とサイズを、指定された矩形値に設定します。x - 指定された矩形形状の左上隅のX座標y - 指定された矩形形状の左上隅のY座標w - 指定された矩形形状の幅h - 指定された矩形形状の高さgetFrame()public void setFrame(Point2D loc, Dimension2D size)
Shapeの表示枠矩形の位置とサイズを、それぞれ指定されたPoint2DとDimension2Dに設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。 loc - 指定されたPoint2Dsize - 指定されたDimension2DgetFrame()public void setFrame(Rectangle2D r)
Shapeの表示枠矩形を、指定されたRectangle2Dに設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。 r - 指定されたRectangle2DgetFrame()public void setFrameFromDiagonal(double x1,
double y1,
double x2,
double y2)
Shapeの表示枠矩形の対角線を、指定された2つの座標に基づいて設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。 x1 - 指定された対角線の始点のX座標y1 - 指定された対角線の始点のY座標x2 - 指定された対角線の終点のX座標y2 - 指定された対角線の終点のY座標public void setFrameFromDiagonal(Point2D p1, Point2D p2)
Shapeの表示枠矩形の対角線を、指定された2つのPoint2Dオブジェクトに基づいて設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。 p1 - 指定された対角線の始点Point2Dp2 - 指定された対角線の終点Point2Dpublic void setFrameFromCenter(double centerX,
double centerY,
double cornerX,
double cornerY)
Shapeの表示枠矩形を、指定された中心点および角の点の座標に基づいて設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。 centerX - 指定された中心点のX座標centerY - 指定された中心点のY座標cornerX - 指定された角の点のX座標cornerY - 指定された角の点のY座標public void setFrameFromCenter(Point2D center, Point2D corner)
Shapeの表示枠矩形を、中心を表すPoint2Dおよび角を表すPoint2Dに基づいて設定します。 表示枠矩形は、RectangularShapeのサブクラスが幾何学的図形を定義するために使用します。 center - 指定された中心のPoint2Dcorner - 指定された角のPoint2Dpublic boolean contains(Point2D p)
public boolean intersects(Rectangle2D r)
Shapeの内部が指定されたRectangle2Dの内部と交差しているかどうかをテストします。 Shape.intersects()メソッドを使用すると、次のような場合に、Shape実装は内部的にtrueを返すことができます。
Rectangle2DとShapeが交差している可能性が高いが、
Shapesによっては、Rectangle2DがShapeと交差していない場合でもこのメソッドがtrueを返すことがあります。 Areaクラスは、ほとんどのShapeオブジェクトより正確な、幾何学的な共通部分の計算を実行するため、より的確な答えが必要な場合に使用できます。 intersects、インタフェースShaper - 指定されたRectangle2DShapeの内部と指定されたRectangle2Dの内部が交差しているか、またはどちらも交差している可能性が高いが、負荷が大きすぎて共通部分の計算を実行できない場合はtrue、それ以外の場合はfalse。Shape.intersects(double, double, double, double)public boolean contains(Rectangle2D r)
Shapeの内部に、指定されたRectangle2Dが完全に含まれるかどうかをテストします。 Shape.contains()メソッドを使用すると、次のような場合に、Shape実装は内部的にfalseを返すことができます。
intersectメソッドがtrueを返し、かつ
ShapeにRectangle2Dが完全に含まれるかどうかを判定するための計算の負荷が非常に大きい。
Shapesによっては、ShapeにRectangle2Dが含まれている場合でもこのメソッドがfalseを返すことがあります。 Areaクラスは、ほとんどのShapeオブジェクトより正確な幾何学的計算を実行するため、より的確な答えが必要な場合に使用できます。 contains、インタフェースShaper - 指定されたRectangle2DShapeの内部にRectangle2Dが完全に含まれる場合はtrue、それ以外の場合、またはShapeにRectangle2Dが含まれ、intersectsメソッドがtrueを返し、さらに負荷が大きすぎて包含の計算を実行できない場合はfalse。Shape.contains(double, double, double, double)public Rectangle getBounds()
Shapeを完全に囲む整数のRectangleを返します。 返されたRectangleがShapeを囲む最小のバウンディング・ボックスであるとは限りません。示されたRectangle内にShapeが完全に収まるというだけです。 また、Shapeが整数型の制限範囲を超える場合、返されたRectangleはShapeを完全に囲むことができないこともあります。 通常は、getBounds2Dメソッドの方が、表現の自由度が高いために、比較的ぴったりしたバウンディング・ボックスを返します。
内側の定義によって、shapeの定義する輪郭上の点が、返されたboundsオブジェクトに含まれていると見なされない状況が発生する場合があります。ただし、これは、これらの点が元のshapeにも含まれていないと見なされる場合のみです。
pointがcontains(point)メソッドに従ってshapeの内側にある場合は、boundsのcontains(point)メソッドに従って、返されたRectangle境界オブジェクトの内側にある必要があります。 具体的には、次のようになります。
shape.contains(x,y)にはbounds.contains(x,y)が必要
pointがshapeの内側にない場合は、引き続きboundsオブジェクトに含まれている可能性があります。
bounds.contains(x,y)はshape.contains(x,y)を示さない
getBounds、インタフェースShapeShapeを完全に囲む整数型のRectangle。Shape.getBounds2D()public PathIterator getPathIterator(AffineTransform at, double flatness)
Shapeオブジェクトの境界に沿って反復処理するイテレータ・オブジェクトを返し、Shapeオブジェクトの幾何学的図形の輪郭の平坦化されたビューへのアクセスを提供します。
イテレータによって返されるのは、SEG_MOVETO、SEG_LINETO、およびSEG_CLOSEのポイントの型だけです。
曲線セグメントの分割の量は、平坦化されない変換を受けた曲線上の点が、返される平坦化されたパス・セグメントからもっとも離れる距離を指定するflatnessパラメータによって制御されます。 オプションのAffineTransformを指定することもでき、その場合は反復処理で返される座標がそれに応じて変換されます。
getPathIterator、インタフェースShapeat - 反復で返されるときに座標に適用されるオプションのAffineTransform。変換されていない座標が必要な場合はnull。flatness - 曲線セグメントを近似するために使用されるライン・セグメントが、元の曲線上の任意の点から離れることができる最大の距離Shapeオブジェクトの平坦化された幾何学的図形へのアクセスを提供するPathIteratorオブジェクト。public Object clone()
clone、クラスObjectOutOfMemoryError - 十分なメモリーがない場合。Cloneable バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。