public abstract class RectangularShape extends Object implements Shape, Cloneable
RectangularShape
是多个Shape
对象的基类,其几何由矩形框架定义。
该类本身并不直接指定任何特定的几何体,而只是提供由Shape
对象的整个类别Shape
操作方法。
该类提供的操作方法可用于查询和修改矩形框架,为框架子集定义几何图形提供了参考。
Modifier | Constructor and Description |
---|---|
protected |
RectangularShape()
这是一个无法直接实例化的抽象类。
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
创建与该对象相同的类和新内容相同的新对象。
|
boolean |
contains(Point2D p)
测试指定 Point2D 是的边界内Shape ,如所描述的definition of insideness 。
|
boolean |
contains(Rectangle2D r)
测试
Shape 的内部
Shape 全部包含指定的
Rectangle2D 。
|
Rectangle |
getBounds()
返回一个整数 Rectangle 完全包围Shape 。
|
double |
getCenterX()
返回的框架矩形的中心的X坐标
Shape 在
double 精度。
|
double |
getCenterY()
返回
Shape 中
double 的框架矩形中心的Y坐标。
|
Rectangle2D |
getFrame()
返回定义此对象的整体形状的框架 Rectangle2D 。
|
abstract double |
getHeight()
返回
double 精度框架矩形的高度。
|
double |
getMaxX()
返回的框架矩形的最大X坐标
Shape 在
double 精度。
|
double |
getMaxY()
返回最大的窗体矩形的Y坐标
Shape 在
double 精度。
|
double |
getMinX()
返回的框架矩形的最小X坐标
Shape 在
double 精度。
|
double |
getMinY()
返回最小的框架矩形的Y坐标
Shape 在
double 精度。
|
PathIterator |
getPathIterator(AffineTransform at, double flatness)
返回一个迭代器对象,该对象沿
Shape 对象的边界进行迭代,并提供对
Shape 对象的几何体轮廓的平坦化视图的访问。
|
abstract double |
getWidth()
以
double 精度返回框架矩形的宽度。
|
abstract double |
getX()
返回double精度中框架矩形左上角的
double 坐标。
|
abstract double |
getY()
以double精度返回框架矩形左上角的
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)
根据指定的中心
Point2D 和角
Point2D 设置此
Shape 的框架
Point2D 。
|
void |
setFrameFromDiagonal(double x1, double y1, double x2, double y2)
根据两个指定坐标设置此
Shape 框架矩形的对角线。
|
void |
setFrameFromDiagonal(Point2D p1, Point2D p2)
基于两个指定的
Point2D 对象设置此
Shape 的框架矩形的对角线。
|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
contains, contains, getBounds2D, getPathIterator, intersects
protected RectangularShape()
Arc2D
, Ellipse2D
, Rectangle2D
, RoundRectangle2D
public abstract double getX()
double
坐标。
public abstract double getY()
double
坐标。
public abstract double getWidth()
double
精度框架矩形的宽度。
public abstract double getHeight()
double
精度框架矩形的高度。
public double getMinX()
Shape
在
double
精度。
Shape
。
public double getMinY()
Shape
在
double
精度。
Shape
。
public double getMaxX()
Shape
在
double
精度。
Shape
。
public double getMaxY()
Shape
在
double
精度。
Shape
。
public double getCenterX()
Shape
在
double
精度。
Shape
。
public double getCenterY()
Shape
在
double
精度。
Shape
。
public Rectangle2D getFrame()
Rectangle2D
。
Rectangle2D
,在
double
坐标指定。
setFrame(double, double, double, double)
,
setFrame(Point2D, Dimension2D)
,
setFrame(Rectangle2D)
public abstract boolean isEmpty()
RectangularShape
是空的。
当RectangularShape
为空时,不包含任何区域。
true
如果RectangularShape
是空的;
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的RectangularShape
用于定义其几何。
loc
- 指定的
Point2D
size
- 指定的
Dimension2D
getFrame()
public void setFrame(Rectangle2D r)
Shape
是指定的Rectangle2D
。
框架矩形由RectangularShape的RectangularShape
用于定义其几何。
r
- 指定的
Rectangle2D
getFrame()
public void setFrameFromDiagonal(double x1, double y1, double x2, double y2)
Shape
的框架矩形的对角线。
框架矩形由RectangularShape的RectangularShape
用于定义其几何。
x1
- 指定对角线起始点的X坐标
y1
- 指定对角线起始点的Y坐标
x2
- 指定对角线的终点的X坐标
y2
- 指定对角线的终点的Y坐标
public void setFrameFromDiagonal(Point2D p1, Point2D p2)
Point2D
对象设置此Shape
框架矩形的对角线。
框架矩形由RectangularShape的RectangularShape
用于定义其几何。
p1
- 指定对角线的起始
Point2D
p2
- 指定对角线的末端
Point2D
public void setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)
Shape
的框架矩形。
框架矩形由RectangularShape的RectangularShape
用于定义其几何。
centerX
- 指定
centerX
的X坐标
centerY
- 指定
centerY
的Y坐标
cornerX
- 指定角点的X坐标
cornerY
- 指定角点的Y坐标
public void setFrameFromCenter(Point2D center, Point2D corner)
Point2D
和角Point2D
设置此Shape
的框架Point2D
。
框架矩形由RectangularShape的RectangularShape
用于定义其几何。
center
- 指定中心
Point2D
corner
- 指定的角
Point2D
public boolean contains(Point2D p)
Point2D
是的边界内Shape
,如所描述的definition of insideness 。
public boolean intersects(Rectangle2D r)
Shape
相交指定的内部Rectangle2D
。
该Shape.intersects()
方法允许Shape
实现谨慎地返回true
时:
Rectangle2D
和Shape
相交的Shape
很高,但是 Shapes
这种方法也可能返回true
即使Rectangle2D
不相交Shape
。
所述Area
类执行几何相交的更精确的计算比大多数Shape
可以,如果需要更精确的答案被使用的对象,因此。
intersects
在界面
Shape
r
- 指定的
Rectangle2D
true
如果内部Shape
和指定的内部Rectangle2D
相交,或两者均是高度可能相交及交叉点计算。将执行太贵;
false
否则。
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Shape
的内部Shape
全部包含指定的Rectangle2D
。
Shape.contains()
方法允许一个Shape
保守地返回false
当:
intersect
方法返回true
和 Shape
完全包含Rectangle2D
的代价太高。 Shapes
这种方法也可能返回false
即使Shape
包含Rectangle2D
。
所述Area
类比大多数执行更精确的几何计算Shape
对象,因此可以在需要更精确的答案一起使用。
contains
在界面
Shape
r
- 指定的
Rectangle2D
true
如果内部的Shape
完全包含Rectangle2D
;
false
否则或如果Shape
包含Rectangle2D
和intersects
方法返回true
并且包含计算将太昂贵执行。
Shape.contains(double, double, double, double)
public Rectangle getBounds()
Rectangle
完全包围Shape
。
需要注意的是没有保证返回Rectangle
是最小的边框包围Shape
,只表示Shape
完全在指定的范围内Rectangle
。
如果Shape
溢出了整数数据类型的有限范围,那么返回的Rectangle
也可能无法完全包含Shape
。
getBounds2D
方法通常返回更严格的边界框,因为它具有更大的表示灵活性。
需要注意的是definition of insideness可能会导致出现对的定义轮廓点的情况下shape
可能不被认为包含在返回bounds
对象,但只有在这些点也未审议了原有的情况下shape
。
如果point
是内部shape
根据contains(point)
方法,那么它必须是内部返回Rectangle
界限根据对象contains(point)
所述的方法bounds
。 特别:
shape.contains(x,y)
需要bounds.contains(x,y)
如果一个point
不在shape
,那么它可能仍然包含在bounds
对象中:
bounds.contains(x,y)
并不表示shape.contains(x,y)
getBounds
在界面
Shape
Rectangle
完全封闭了
Shape
。
Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at, double flatness)
Shape
对象的边界进行迭代,并提供对Shape
对象的几何体轮廓的平坦化视图的访问。
只有SEG_MOVETO,SEG_LINETO和SEG_CLOSE点类型将由迭代器返回。
曲线段的细分量由flatness
参数控制,该参数指定未平坦化变换曲线上的任何点可能偏离返回的平坦化路径段的最大距离。 可以指定可选的AffineTransform
,以便相应地转换迭代中返回的坐标。
getPathIterator
在界面
Shape
at
- 要在迭代中返回时应用于
at
的可选
AffineTransform
,如果需要未转换的
null
,则为null。
flatness
- 用于近似曲线段的线段的最大距离允许偏离原始曲线上的任何点
PathIterator
对象,提供对
Shape
对象的平坦几何的访问。
public Object clone()
clone
在类别
Object
OutOfMemoryError
- 如果没有足够的内存
Cloneable