java.lang.Object java.awt.geom.RectangularShape java.awt.geom.RoundRectangle2D
public abstract class RoundRectangle2D
RoundRectangle2D
类定义一个矩形,该矩形具有由位置 (x,y)
、维度 (w x h)
以及圆角弧的宽度和高度定义的圆角。
此类是所有保存 2D 圆角矩形的对象的抽象超类。实际的坐标存储表示形式由子类决定。
嵌套类摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
protected RoundRectangle2D()
RoundRectangle2D.Float
,
RoundRectangle2D.Double
方法详细信息 |
---|
public abstract double getArcWidth()
RoundRectangle2D
圆角弧的宽度。
public abstract double getArcHeight()
RoundRectangle2D
圆角弧的高度。
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
的弧高
public void setRoundRect(RoundRectangle2D rr)
RoundRectangle2D
设置为与指定的
RoundRectangle2D
相同。
rr
- 指定的
RoundRectangle2D
public void setFrame(double x, double y, double w, double h)
Shape
窗体矩形的位置和大小设置为指定的矩形值。
RectangularShape
中的
setFrame
x
- 指定矩形左上角的 X 坐标
y
- 指定矩形左上角的 Y 坐标
w
- 指定矩形的宽度
h
- 指定矩形的高度
RectangularShape.getFrame()
public boolean contains(double x, double y)
Shape
的边界内。
x
- 要测试的指定的 X 坐标
y
- 要测试的指定的 Y 坐标
Shape
边界内,则返回
true
;否则返回
false
。
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
。
Area
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
。
Area
,
Shape.intersects(double, double, double, double)
public PathIterator getPathIterator(AffineTransform at)
RoundRectangle2D
边界的迭代对象。此类的迭代器是多线程安全的,这意味着此
RoundRectangle2D
类保证对此
RoundRectangle2D
对象几何形状所作的修改不影响该几何形状已在进程中的迭代器。
at
- 一个可选的
AffineTransform
,用于在迭代中返回的坐标;如果需要未变换的坐标,则为
null
RoundRectangle2D
轮廓几何形状的
PathIterator
对象,一次一段。
public int hashCode()
RoundRectangle2D
的哈希码。
RoundRectangle2D
的哈希码。
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
是否与此
RoundRectangle2D
相等。如果指定的
Object
是一个
RoundRectangle2D
实例,且其位置、大小和圆角弧维度与此
RoundRectangle2D
相同,则该指定对象与此
RoundRectangle2D
相等。
obj
- 将与此
RoundRectangle2D
进行比较的
Object
。
obj
是一个
RoundRectangle2D
实例并且值相同,则返回
true
;否则返回
false
。
Object.hashCode()
,
Hashtable