- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- java.awt.geom.RoundRectangle2D
-
public abstract class RoundRectangle2D extends RectangularShape
RoundRectangle2D
类定义了一个带有圆角的矩形,由一个位置(x,y)
定义,一个尺寸为(w x h)
,以及用于围绕角落的圆弧的宽度和高度。该类是存储2D圆角矩形的所有对象的抽象超类。 坐标的实际存储表示留给子类。
- 从以下版本开始:
- 1.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
RoundRectangle2D.Double
Double
类定义了一个带有圆角的矩形,全部在double
指定。static class
RoundRectangle2D.Float
Float
类定义了一个具有圆角的矩形,全部在float
坐标中指定。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
RoundRectangle2D()
这是一个无法直接实例化的抽象类。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 boolean
contains(double x, double y)
测试指定的坐标是否在Shape
的边界内,如 definition of insideness所述 。boolean
contains(double x, double y, double w, double h)
测试Shape
的内部Shape
完全包含指定的矩形区域。boolean
equals(Object obj)
确定指定的Object
是否等于此RoundRectangle2D
。abstract double
getArcHeight()
获取圆角圆弧的高度。abstract double
getArcWidth()
获取从角落舍入的圆弧的宽度。PathIterator
getPathIterator(AffineTransform at)
返回定义RoundRectangle2D
边界的迭代对象。int
hashCode()
返回此RoundRectangle2D
的哈希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
的位置,大小和拐角半径RoundRectangle2D
为指定的double
值。void
setRoundRect(RoundRectangle2D rr)
将此RoundRectangle2D
设置为与指定的RoundRectangle2D
相同。-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class 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
-
Methods inherited from interface 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
的位置,大小和拐角半径RoundRectangle2D
为指定的double
值。- 参数
-
x
- 设置此RoundRectangle2D
的位置的X坐标 -
y
- 设置此RoundRectangle2D
的位置的Y坐标 -
w
- 设置此RoundRectangle2D
的宽度 -
h
- 设置此RoundRectangle2D
的高度 -
arcWidth
- 设置此RoundRectangle2D
弧的RoundRectangle2D
-
arcHeight
- 设置此RoundRectangle2D
弧的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
的成帧矩形的位置和大小设置为指定的矩形值。- Specified by:
-
setFrame
在RectangularShape
- 参数
-
x
- 指定矩形左上角的X坐标 -
y
- 指定矩形左上角的Y坐标 -
w
- 指定矩形形状的宽度 -
h
- 指定长方形的高度 - 从以下版本开始:
- 1.2
- 另请参见:
-
RectangularShape.getFrame()
-
contains
public boolean contains(double x, double y)
测试指定的坐标是否在Shape
的边界内,如 definition of insideness所述 。- 参数
-
x
- 要测试的指定X坐标 -
y
- 要测试的指定Y坐标 - 结果
-
true
如果指定的坐标在Shape
边界内; 否则为false
。 - 从以下版本开始:
- 1.2
-
intersects
public boolean intersects(double x, double y, double w, double h)
测试Shape
的内部是否与指定矩形区域的内部相交。 如果任何点都包含在Shape
的内部和指定的矩形区域中,则矩形区域被认为与Shape
相交。Shape.intersects()
方法允许Shape
实现保守返回true
当:- 矩形区域与
Shape
相交的概率很高,但是 - 准确地确定这个交叉点的计算是非常昂贵的。
Shapes
这种方法也可能返回true
即使矩形区域没有相交Shape
。Area
类比大多数Shape
对象执行几何交集的更准确的计算,因此如果需要更精确的答案,则可以使用它。- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果Shape
的内部和矩形区域的内部相交,或者两者都很可能相交,并且交叉点计算将太昂贵执行; 否则为false
。 - 从以下版本开始:
- 1.2
- 另请参见:
-
Area
- 矩形区域与
-
contains
public boolean contains(double x, double y, double w, double h)
测试Shape
的内部Shape
完全包含指定的矩形区域。 位于矩形区域内的所有坐标必须位于Shape
内,因为整个矩形区域将被视为包含在Shape
。Shape.contains()
方法允许Shape
实现保守返回false
当时:-
intersect
方法返回true
和 - 确定
Shape
是否完全包含矩形区域的计算是非常昂贵的。
Shapes
这种方法也可能返回false
即使Shape
包含矩形区域。Area
类比大多数Shape
对象执行更精确的几何计算,因此如果需要更准确的答案,则可以使用它。- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果内部的Shape
完全包含指定的矩形区域;false
否则或如果Shape
包含矩形区域,并且intersects
方法返回true
,并且包含计算将太昂贵,无法执行。 - 从以下版本开始:
- 1.2
- 另请参见:
-
Area
,Shape.intersects(double, double, double, double)
-
-
getPathIterator
public PathIterator getPathIterator(AffineTransform at)
返回一个定义RoundRectangle2D
边界的迭代对象。 该类的迭代器是多线程安全的,这意味着这个RoundRectangle2D
类保证对这个RoundRectangle2D
对象的几何的修改不会影响已经在处理的几何的任何迭代。- 参数
-
at
- 要在迭代中返回时应用于坐标的可选的AffineTransform
,如果需要未转换的坐标,null
- 结果
-
PathIterator
对象,返回此RoundRectangle2D
的轮廓的几何,一次一个段。 - 从以下版本开始:
- 1.2
-
hashCode
public int hashCode()
返回此RoundRectangle2D
的哈希RoundRectangle2D
。- 重写:
-
hashCode
在Object
- 结果
-
这个
RoundRectangle2D
的哈希RoundRectangle2D
。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
确定指定的Object
是否等于此RoundRectangle2D
。 指定Object
等于该RoundRectangle2D
,如果它是一个实例RoundRectangle2D
,如果它的位置,大小和角弧的尺寸是相同的,因为这RoundRectangle2D
。- 重写:
-
equals
在Object
- 参数
-
obj
- 一个Object
要与这个RoundRectangle2D
进行比较。 - 结果
-
true
如果obj
是的一个实例RoundRectangle2D
,并且具有相同的值; 否则为false
。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Object.hashCode()
,HashMap
-
-