java.awt.geom

接口
异常
java.lang.Object
  继承者 java.awt.geom.RectangularShape
      继承者 java.awt.geom.RoundRectangle2D
所有已实现的接口:
Shape, Cloneable
直接已知子类:
RoundRectangle2D.Double, RoundRectangle2D.Float

public abstract class RoundRectangle2D
     
extends RectangularShape

RoundRectangle2D 类定义一个矩形,该矩形具有由位置 (x,y)、维度 (w x h) 以及圆角弧的宽度和高度定义的圆角。

此类是所有保存 2D 圆角矩形的对象的抽象超类。实际的坐标存储表示形式由子类决定。

从以下版本开始:
1.2

嵌套类摘要
static class RoundRectangle2D.Double
          Double 类定义一个所有圆角都使用 double 坐标指定的矩形。
static class RoundRectangle2D.Float
          Float 类定义一个所有圆角都使用 float 坐标指定的矩形。
 
构造方法摘要
protected RoundRectangle2D()
          这是一个无法直接实例化的抽象类。
 
方法摘要
 boolean contains(double x, double y)
          测试指定坐标是否在 Shape 的边界内。
 boolean contains(double x, double y, double w, double h)
          测试 Shape 内部是否完全包含指定矩形区域。
 boolean equals(Object obj)
          确定指定的 Object 是否与此 RoundRectangle2D 相等。
abstract  double getArcHeight()
          获取圆角弧的高度。
abstract  double getArcWidth()
          获取圆角弧的宽度。
 PathIterator getPathIterator(AffineTransform at)
          返回定义此 RoundRectangle2D 边界的迭代对象。
 int hashCode()
          返回此 RoundRectangle2D 的哈希码。
 boolean intersects(double x, double y, double w, double h)
          测试 Shape 内部是否与指定矩形区域的内部相交。
 void setFrame(double x, double y, double w, double h)
          将此 Shape 窗体矩形的位置和大小设置为指定的矩形值。
abstract  void setRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
          将此 RoundRectangle2D 的位置、大小和圆角半径设置为指定的 double 值。
 void setRoundRect(RoundRectangle2D rr)
          将此 RoundRectangle2D 设置为与指定的 RoundRectangle2D 相同。
 
从类 java.awt.geom.RectangularShape 继承的方法
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
从接口 java.awt.Shape 继承的方法
getBounds2D
 

构造方法详细信息

RoundRectangle2D

protected RoundRectangle2D()
这是一个无法直接实例化的抽象类。特定于类型的实现子类可用于实例化,并提供用于存储满足以下各种存取方法所需信息的多种格式。

从以下版本开始:
1.2
另请参见:
RoundRectangle2D.Float, RoundRectangle2D.Double
方法详细信息

getArcWidth

public abstract double getArcWidth()
获取圆角弧的宽度。

返回:
RoundRectangle2D 圆角弧的宽度。
从以下版本开始:
1.2

getArcHeight

public abstract double getArcHeight()
获取圆角弧的高度。

返回:
RoundRectangle2D 圆角弧的高度。
从以下版本开始:
1.2

setRoundRect

public abstract void setRoundRect(double x,
                                  double y,
                                  double w,
                                  double h,
                                  double arcWidth,
                                  double arcHeight)
将此 RoundRectangle2D 的位置、大小和圆角半径设置为指定的 double 值。

参数:
x - 设置此 RoundRectangle2D 的 X 坐标
y - 设置此 RoundRectangle2D 的 Y 坐标
w - 设置此 RoundRectangle2D 的宽度
h - 设置此 RoundRectangle2D 的高度
arcWidth - 设置此 RoundRectangle2D 的弧宽
arcHeight - 设置此 RoundRectangle2D 的弧高
从以下版本开始:
1.2

setRoundRect

public void setRoundRect(RoundRectangle2D rr)
将此 RoundRectangle2D 设置为与指定的 RoundRectangle2D 相同。

参数:
rr - 指定的 RoundRectangle2D
从以下版本开始:
1.2

setFrame

public void setFrame(double x,
                     double y,
                     double w,
                     double h)
将此 Shape 窗体矩形的位置和大小设置为指定的矩形值。

指定者:
RectangularShape 中的 setFrame
参数:
x - 指定矩形左上角的 X 坐标
y - 指定矩形左上角的 Y 坐标
w - 指定矩形的宽度
h - 指定矩形的高度
从以下版本开始:
1.2
另请参见:
RectangularShape.getFrame()

contains

public boolean contains(double x,
                        double y)
测试指定坐标是否在 Shape 的边界内。

参数:
x - 要测试的指定的 X 坐标
y - 要测试的指定的 Y 坐标
返回:
如果指定坐标在 Shape 边界内,则返回 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,即使矩形区域没有与该 Shape 相交,此方法也可能返回 true。如果需要更精确的答案,由于 Area 类比大多数 Shape 对象更为准确地计算几何相交,因此可以使用该类。

参数:
x - 指定矩形区域左上角的 X 坐标
y - 指定矩形区域左上角的 Y 坐标
w - 指定矩形区域的宽度
h - 指定矩形区域的高度
返回:
如果 Shape 的内部区域与矩形的内部区域相交,或者相交的可能性很大且执行计算的代价太高,则返回 true;否则返回 false
从以下版本开始:
1.2
另请参见:
Area

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
测试 Shape 内部是否完全包含指定矩形区域。矩形区域内的所有坐标都必须位于 Shape 中,才可以认为整个矩形区域包含在 Shape中。

在下列情况下,Shape.contains() 方法允许 Shape 实现谨慎地返回 false

  • intersect 方法返回 true 并且
  • 计算 Shape 是否完全包含矩形区域的代价太高。
这意味着对于某些 Shape,即使 Shape 包含矩形区域,此方法也可能返回 false。如果需要更精确的答案,由于 Area 类比大多数 Shape 对象更为准确地执行几何计算,因此可以使用该类。

参数:
x - 指定矩形区域左上角的 X 坐标
y - 指定矩形区域左上角的 Y 坐标
w - 指定矩形区域的宽度
h - 指定矩形区域的高度
返回:
如果 Shape 内部完全包含指定矩形区域,则返回 true;否则,如果 Shape 包含矩形区域、 intersects 方法返回 true 且执行包含计算代价太高,则返回 false
从以下版本开始:
1.2
另请参见:
Area, Shape.intersects(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
返回定义此 RoundRectangle2D 边界的迭代对象。此类的迭代器是多线程安全的,这意味着此 RoundRectangle2D 类保证对此 RoundRectangle2D 对象几何形状所作的修改不影响该几何形状已在进程中的迭代器。

参数:
at - 一个可选的 AffineTransform,用于在迭代中返回的坐标;如果需要未变换的坐标,则为 null
返回:
返回此 RoundRectangle2D 轮廓几何形状的 PathIterator 对象,一次一段。
从以下版本开始:
1.2

hashCode

public int hashCode()
返回此 RoundRectangle2D 的哈希码。

覆盖:
Object 中的 hashCode
返回:
RoundRectangle2D 的哈希码。
从以下版本开始:
1.6
另请参见:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
确定指定的 Object 是否与此 RoundRectangle2D 相等。如果指定的 Object 是一个 RoundRectangle2D 实例,且其位置、大小和圆角弧维度与此 RoundRectangle2D 相同,则该指定对象与此 RoundRectangle2D 相等。

覆盖:
Object 中的 equals
参数:
obj - 将与此 RoundRectangle2D 进行比较的 Object
返回:
如果 obj 是一个 RoundRectangle2D 实例并且值相同,则返回 true;否则返回 false
从以下版本开始:
1.6
另请参见:
Object.hashCode(), Hashtable