|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.geom.RectangularShape java.awt.geom.Rectangle2D
public abstract class Rectangle2D
Rectangle2D
類別描述通過位置 (x,y)
和尺寸 (w x h)
定義的矩形。
此類別是所有存儲 2D 矩形的物件的惟一抽象父級類別。坐標的實際存儲表示形式由子類別決定。
巢狀類別摘要 | |
---|---|
static class |
Rectangle2D.Double
Double 類別定義一個在 double 坐標中指定的矩形。 |
static class |
Rectangle2D.Float
Float 類別定義一個在 float 坐標中指定的矩形。 |
欄位摘要 | |
---|---|
static int |
OUT_BOTTOM
指示點位於此 Rectangle2D 下方的位遮罩碼。 |
static int |
OUT_LEFT
指示點位於此 Rectangle2D 左邊的位遮罩碼。 |
static int |
OUT_RIGHT
指示點位於此 Rectangle2D 右邊的位遮罩碼。 |
static int |
OUT_TOP
指示點位於此 Rectangle2D 上方的位遮罩碼。 |
建構子摘要 | |
---|---|
protected |
Rectangle2D()
這是一個不可直接實例化的抽象類別。 |
方法摘要 | |
---|---|
void |
add(double newx,
double newy)
將由 double 精度參數 newx 和 newy 指定的點添加到此 Rectangle2D 中。 |
void |
add(Point2D pt)
將 Point2D 物件 pt 添加到此 Rectangle2D 中。 |
void |
add(Rectangle2D r)
將 Rectangle2D 物件添加到此 Rectangle2D 中。 |
boolean |
contains(double x,
double y)
測試指定坐標是否在 Shape 的邊界內。 |
boolean |
contains(double x,
double y,
double w,
double h)
測試 Shape 內部是否完全包含指定矩形區域。 |
abstract Rectangle2D |
createIntersection(Rectangle2D r)
返回一個新的 Rectangle2D 物件,它表示此 Rectangle2D 與指定 Rectangle2D 的交集。 |
abstract Rectangle2D |
createUnion(Rectangle2D r)
返回一個新的 Rectangle2D 物件,它表示此 Rectangle2D 與指定 Rectangle2D 的並集。 |
boolean |
equals(Object obj)
確定指定的 Object 是否與此 Rectangle2D 相等。 |
Rectangle2D |
getBounds2D()
返回一個高精度的、比 getBounds 方法更準確的 Shape 邊界框。 |
PathIterator |
getPathIterator(AffineTransform at)
返回定義此 Rectangle2D 邊界的迭代物件。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
返回定義變平的 Rectangle2D 邊界的迭代物件。 |
int |
hashCode()
返回此 Rectangle2D 的雜湊碼。 |
static void |
intersect(Rectangle2D src1,
Rectangle2D src2,
Rectangle2D dest)
將指定的一對源 Rectangle2D 物件相交,並將結果置於指定的目標 Rectangle2D 物件中。 |
boolean |
intersects(double x,
double y,
double w,
double h)
測試 Shape 內部是否與指定矩形區域的內部相交。 |
boolean |
intersectsLine(double x1,
double y1,
double x2,
double y2)
測試指定線段是否與此 Rectangle2D 的內部相交。 |
boolean |
intersectsLine(Line2D l)
測試指定的線段是否與此 Rectangle2D 的內部相交。 |
abstract int |
outcode(double x,
double y)
確定指定坐標相對於此 Rectangle2D 的位置。 |
int |
outcode(Point2D p)
確定指定 Point2D 相對於此 Rectangle2D 的位置。 |
void |
setFrame(double x,
double y,
double w,
double h)
將此 Rectangle2D 外部邊界的位置和大小設置為指定矩形值。 |
abstract void |
setRect(double x,
double y,
double w,
double h)
將此 Rectangle2D 的位置和大小設置為指定的 double 值。 |
void |
setRect(Rectangle2D r)
將此 Rectangle2D 設置為與指定的 Rectangle2D 相同。 |
static void |
union(Rectangle2D src1,
Rectangle2D src2,
Rectangle2D dest)
將一對源 Rectangle2D 物件合併,並將結果置於指定的目標 Rectangle2D 物件中。 |
從類別 java.awt.geom.RectangularShape 繼承的方法 |
---|
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal |
從類別 java.lang.Object 繼承的方法 |
---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int OUT_LEFT
Rectangle2D
左邊的位遮罩碼。
public static final int OUT_TOP
Rectangle2D
上方的位遮罩碼。
public static final int OUT_RIGHT
Rectangle2D
右邊的位遮罩碼。
public static final int OUT_BOTTOM
Rectangle2D
下方的位遮罩碼。
建構子詳細資訊 |
---|
protected Rectangle2D()
Rectangle2D.Float
,
Rectangle2D.Double
,
Rectangle
方法詳細資訊 |
---|
public abstract void setRect(double x, double y, double w, double h)
Rectangle2D
的位置和大小設置為指定的 double
值。
x
- 此 Rectangle2D
左上角的 X 坐標y
- 此 Rectangle2D
左上角的 Y 坐標w
- 此 Rectangle2D
的寬度h
- 此 Rectangle2D
的高度public void setRect(Rectangle2D r)
Rectangle2D
設置為與指定的 Rectangle2D
相同。
r
- 指定的 Rectangle2D
public boolean intersectsLine(double x1, double y1, double x2, double y2)
Rectangle2D
的內部相交。
x1
- 指定線段起始點的 X 坐標y1
- 指定線段起始點的 Y 坐標x2
- 指定線段結束點的 X 坐標y2
- 指定線段結束點的 Y 坐標
Rectangle2D
的內部相交,則返回 true
;否則返回 false
。public boolean intersectsLine(Line2D l)
Rectangle2D
的內部相交。
l
- 要測試是否與此 Rectangle2D
內部相交的指定 Line2D
Line2D
與此 Rectangle2D
的內部相交,則返回 true
;否則返回 false
。public abstract int outcode(double x, double y)
Rectangle2D
的位置。此方法計算適當遮罩碼值的二進制或 (OR),這些遮罩碼值針對此 Rectangle2D
的每個邊指示指定坐標是否在此 Rectangle2D
其餘邊緣的同一側。
x
- 指定的 X 坐標y
- 指定的 Y 坐標
OUT_LEFT
,
OUT_TOP
,
OUT_RIGHT
,
OUT_BOTTOM
public int outcode(Point2D p)
Point2D
相對於此 Rectangle2D
的位置。此方法計算適當遮罩碼值的二進制或,這些值針對此 Rectangle2D
的每個邊指示指定 Point2D
是否在此 Rectangle2D
其餘邊緣的同一側。
p
- 指定的 Point2D
OUT_LEFT
,
OUT_TOP
,
OUT_RIGHT
,
OUT_BOTTOM
public void setFrame(double x, double y, double w, double h)
Rectangle2D
外部邊界的位置和大小設置為指定矩形值。
RectangularShape
中的 setFrame
x
- 此 Rectangle2D
左上角的 X 坐標y
- 此 Rectangle2D
左上角的 Y 坐標w
- 此 Rectangle2D
的寬度h
- 此 Rectangle2D
的高度RectangularShape.getFrame()
public Rectangle2D getBounds2D()
getBounds
方法更準確的 Shape
邊界框。注意,不保證返回的 Rectangle2D
是包圍 Shape
的最小邊界框,只保證 Shape
完全位於指示的 Rectangle2D
中。此方法返回的邊界框通常比 getBounds
方法返回的更緊密,而且永遠不會因為溢位問題而出錯,因為返回值可以是一個使用雙精度值存儲尺寸的 Rectangle2D
實例。
Rectangle2D
實例,它是 Shape
的高精度邊界框。Shape.getBounds()
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 abstract Rectangle2D createIntersection(Rectangle2D r)
Rectangle2D
物件,它表示此 Rectangle2D
與指定 Rectangle2D
的交集。
r
- 與此 Rectangle2D
相交的 Rectangle2D
Rectangle2D
和此 Rectangle2D
套件含的最大 Rectangle2D
。public static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Rectangle2D
物件相交,並將結果置於指定的目標 Rectangle2D
物件中。為了避免創建第三個 Rectangle2D 物件,將其中一個源矩形作為目標矩形也是可以的,但這樣此方法將改寫源矩形的初始點。
src1
- 要彼此相交的一對 Rectangle2D
物件中的第一個物件src2
- 要彼此相交的一對 Rectangle2D
物件中的第二個物件dest
- 保存 src1
與 src2
相交結果的 Rectangle2D
public abstract Rectangle2D createUnion(Rectangle2D r)
Rectangle2D
物件,它表示此 Rectangle2D
與指定 Rectangle2D
的並集。
r
- 與此 Rectangle2D
合併的 Rectangle2D
Rectangle2D
和此 Rectangle2D
的最小 Rectangle2D
。public static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Rectangle2D
物件合併,並將結果置於指定的目標 Rectangle2D
物件中。為了避免創建第三個 Rectangle2D 物件,將其中一個源矩形作為目標矩形也是可以的,但這樣此方法將改寫源矩形的初始點。
src1
- 要彼此合併的一對 Rectangle2D
物件中的第一個物件src2
- 要彼此合併的 Rectangle2D
物件中的第二個物件dest
- 保存 src1
與 src2
合併結果的 Rectangle2D
public void add(double newx, double newy)
newx
和 newy
指定的點添加到此 Rectangle2D
中。所得到的 Rectangle2D
是同時包含原始 Rectangle2D
和指定點的最小 Rectangle2D
。
在添加一個點後,以添加的點作為參數調用 contains
方法不一定返回 true
。對於矩形的右邊和底邊上的點,contains
方法不返回 true
。所以,如果添加的點落在放大的矩形的左邊和底邊上,則 contains
將對該點返回 false
。
newx
- 新點的 X 坐標newy
- 新點的 Y 坐標public void add(Point2D pt)
Point2D
物件 pt
添加到此 Rectangle2D
中。所得到的 Rectangle2D
是同時包含原始 Rectangle2D
和指定的 Point2D
的最小的 Rectangle2D
。
在添加一個點後,以添加的點為參數調用 contains
方法不一定返回 true
。對於矩形的右邊和底部邊界線上的點,contains
方法不返回 true
。所以,如果添加的點落在放大的矩形的左邊和底部邊界線上,則 contains
將針對該點返回 false
。
pt
- 添加到此 Rectangle2D
中的新 Point2D
public void add(Rectangle2D r)
Rectangle2D
物件添加到此 Rectangle2D
中。得到的 Rectangle2D
是兩個 Rectangle2D
物件的並集。
r
- 要添加到此 Rectangle2D
中的 Rectangle2D
。public PathIterator getPathIterator(AffineTransform at)
Rectangle2D
邊界的迭代物件。此類別的迭代器是多執行緒安全的,這意味著此 Rectangle2D
類別保證對此 Rectangle2D
物件幾何形狀所作的修改不會影響該幾何形狀中正在進行的迭代。
at
- 一個可選的 AffineTransform
,用於在迭代中返回的坐標;如果需要未轉換的坐標,則為 null
Rectangle2D
輪廓幾何形狀的 PathIterator
物件,一次一段。public PathIterator getPathIterator(AffineTransform at, double flatness)
Rectangle2D
邊界的迭代物件。因為矩形已經是平的,所以 flatness
參數將被忽略。此類別的迭代器是多執行緒安全的,這意味著此 Rectangle2D
類別保證對此 Rectangle2D
物件幾何形狀所作的修改不會影響該幾何形狀中正在進行的迭代。
Shape
中的 getPathIterator
RectangularShape
中的 getPathIterator
at
- 一個可選 AffineTransform
,用於在迭代中返回的坐標;如果需要未轉換的坐標,則為 null
flatness
- 用來近似曲線段的直線段偏離原始曲線上任一點的最大距離。因為矩形已經是平的,所以 flatness
參數將被忽略。
PathIterator
物件,該物件返回此 Rectangle2D
的輪廓的幾何形狀,一次一段。public int hashCode()
Rectangle2D
的雜湊碼。
Object
中的 hashCode
Rectangle2D
物件的雜湊碼。Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
是否與此 Rectangle2D
相等。如果指定的 Object
是 Rectangle2D
的實例並且位置和大小與此 Rectangle2D
相同,則其與此 Rectangle2D
相等。
Object
中的 equals
obj
- 要與此 Rectangle2D
進行比較的 Object
。
obj
是 Rectangle2D
的實例並且與 Rectangle2D
具有相同值,則返回 true
;否則返回 false
。Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。