|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.geom.RectangularShape java.awt.geom.Arc2D
public abstract class Arc2D
Arc2D
是所有存儲 2D 弧度的物件的抽象父級類別,其中 2D 弧度由窗體矩形、起始角度、角跨越(弧的長度)和閉合型別(OPEN
、CHORD
或 PIE
)定義。
弧度是其父 RectangularShape
窗體矩形內切完整橢圓的一部分。
角度是相對於非正方形的窗體矩形指定的,從而 45 度角總是落在橢圓中心到窗體矩形右上角的連線上。因此,如果窗體矩形沿一條軸的長度遠長於沿另一條軸的長度,則弧段起始點和結束點間的角度將沿窗體長軸發生較大偏斜。
坐標的實際存儲表示形式由子類別決定。
巢狀類別摘要 | |
---|---|
static class |
Arc2D.Double
此類別定義以 double 精度指定的弧。 |
static class |
Arc2D.Float
此類別定義以 float 精度指定的弧。 |
欄位摘要 | |
---|---|
static int |
CHORD
閉合型別,用於通過從弧段的起始點到弧段的結束點畫一條直線來閉合的弧。 |
static int |
OPEN
閉合型別,用於不具有用來連接弧段兩個端點的路徑段的開弧。 |
static int |
PIE
閉合型別,用於通過從弧段的起始點到完整橢圓的中心,再從圓心到弧段的結束點畫直線來閉合的弧。 |
建構子摘要 | |
---|---|
protected |
Arc2D(int type)
這是一個不能直接實例化的抽象類別。 |
方法摘要 | |
---|---|
boolean |
contains(double x,
double y)
確定指定的點是否位於弧的邊界內。 |
boolean |
contains(double x,
double y,
double w,
double h)
確定弧的內部是否完全包含指定的矩形。 |
boolean |
contains(Rectangle2D r)
確定弧的內部是否完全包含指定的矩形。 |
boolean |
containsAngle(double angle)
確定指定的角度是否位於弧的角跨越內。 |
boolean |
equals(Object obj)
確定指定的 Object 是否與此 Arc2D 相等。 |
abstract double |
getAngleExtent()
返回弧的角跨越。 |
abstract double |
getAngleStart()
返回弧的起始角度。 |
int |
getArcType()
返回弧的弧閉合型別: OPEN 、CHORD 或 PIE 。 |
Rectangle2D |
getBounds2D()
返回弧的高精度窗體矩形。 |
Point2D |
getEndPoint()
返回弧的結束點。 |
PathIterator |
getPathIterator(AffineTransform at)
返回定義弧邊界的迭代物件。 |
Point2D |
getStartPoint()
返回弧的起始點。 |
int |
hashCode()
返回此 Arc2D 的雜湊碼。 |
boolean |
intersects(double x,
double y,
double w,
double h)
確定弧的內部與指定矩形的內部是否相交。 |
protected abstract Rectangle2D |
makeBounds(double x,
double y,
double w,
double h)
建構一個適當精度的 Rectangle2D ,以保存為此弧的窗體矩形計算出的參數。 |
abstract void |
setAngleExtent(double angExt)
將此弧的角跨越設置為指定的 double 值。 |
void |
setAngles(double x1,
double y1,
double x2,
double y2)
使用兩組坐標設置此弧的起始角度和角跨越。 |
void |
setAngles(Point2D p1,
Point2D p2)
使用兩個點設置此弧的起始角度和角跨越。 |
abstract void |
setAngleStart(double angSt)
將此弧的起始角度設置為指定的 double 值。 |
void |
setAngleStart(Point2D p)
將此弧的起始角度設置為由指定點定義、相對於此弧中心的角度。 |
void |
setArc(Arc2D a)
將此弧設置為與指定弧相同。 |
abstract void |
setArc(double x,
double y,
double w,
double h,
double angSt,
double angExt,
int closure)
將此弧的位置、大小、角跨越和閉合型別設置為指定的 double 值。 |
void |
setArc(Point2D loc,
Dimension2D size,
double angSt,
double angExt,
int closure)
將此弧的位置、大小、角跨越和閉合型別設置為指定值。 |
void |
setArc(Rectangle2D rect,
double angSt,
double angExt,
int closure)
將此弧的位置、大小、角跨越和閉合型別設置為指定值。 |
void |
setArcByCenter(double x,
double y,
double radius,
double angSt,
double angExt,
int closure)
將此弧的位置、邊界、角跨越和閉合型別設置為指定值。 |
void |
setArcByTangent(Point2D p1,
Point2D p2,
Point2D p3,
double radius)
將此弧的位置、邊界和角跨越設置為指定值。 |
void |
setArcType(int type)
將此弧的閉合型別設置為指定值: OPEN 、CHORD 或 PIE 。 |
void |
setFrame(double x,
double y,
double w,
double h)
將此 Shape 窗體矩形的位置和大小設置為指定的矩形值。 |
從類別 java.awt.geom.RectangularShape 繼承的方法 |
---|
clone, 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 |
欄位詳細資訊 |
---|
public static final int OPEN
public static final int CHORD
public static final int PIE
建構子詳細資訊 |
---|
protected Arc2D(int type)
type
- 此弧的閉合型別:OPEN
、CHORD
或 PIE
。Arc2D.Float
,
Arc2D.Double
方法詳細資訊 |
---|
public abstract double getAngleStart()
setAngleStart(double)
public abstract double getAngleExtent()
setAngleExtent(double)
public int getArcType()
OPEN
、CHORD
或 PIE
。
setArcType(int)
public Point2D getStartPoint()
Point2D
物件,表示弧起始點的 x、y 坐標。public Point2D getEndPoint()
Point2D
物件,表示弧結束點的 x、y 坐標。public abstract void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
x
- 弧的左上角的 X 坐標。y
- 弧的左上角的 Y 坐標。w
- 完整橢圓的總寬度,此弧是該橢圓的一部分。h
- 完整橢圓的總高度,此弧是該橢圓的一部分。angSt
- 弧的起始角度(以度數表示)。angExt
- 弧的角跨越(以度數表示)。closure
- 弧的閉合型別:OPEN
、CHORD
或 PIE
。public void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)
loc
- 表示弧的左上角坐標的 Point2D
。size
- 表示完整橢圓寬度和高度的 Dimension2D
,此弧是該橢圓的一部分。angSt
- 弧的起始角度(以度數表示)。angExt
- 弧的角跨越(以度數表示)。closure
- 弧的閉合型別:OPEN
、CHORD
或 PIE
。public void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
rect
- 定義完整橢圓外部邊界的窗體矩形,此弧是該橢圓的一部分。angSt
- 弧的起始角度(以度數表示)。angExt
- 弧的角跨越(以度數表示)。closure
- 弧的閉合型別:OPEN
、CHORD
或 PIE
。public void setArc(Arc2D a)
a
- 用於設置弧值的 Arc2D
。public void setArcByCenter(double x, double y, double radius, double angSt, double angExt, int closure)
x
- 弧中心的 X 坐標。y
- 弧中心的 Y 坐標。radius
- 弧的半徑。angSt
- 弧的起始角度(以度數表示)。angExt
- 弧的角跨越(以度數表示)。closure
- 弧的閉合型別:OPEN
、CHORD
或 PIE
。public void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
p1
- 定義弧的第一個點。弧的起始角度是點 (p1, p2) 指定的線的正切。p2
- 定義弧的第二個點。弧的起始角度是點 (p1, p2) 指定的線的正切。弧的結束角度是點 (p2, p3) 指定的線的正切。p3
- 定義弧的第三個點。弧的結束角度是點 (p2, p3) 指定的線的正切。radius
- 弧的半徑。public abstract void setAngleStart(double angSt)
angSt
- 弧的起始角度(以度數表示)。getAngleStart()
public abstract void setAngleExtent(double angExt)
angExt
- 弧的角跨越(以度數表示)。getAngleExtent()
public void setAngleStart(Point2D p)
p
- 定義起始角度的 Point2D
。getAngleStart()
public void setAngles(double x1, double y1, double x2, double y2)
x1
- 弧起始點的 X 坐標。y1
- 弧起始點的 Y 坐標。x2
- 弧結束點的 X 坐標。y2
- 弧結束點的 Y 坐標。public void setAngles(Point2D p1, Point2D p2)
p1
- 定義弧起始點的 Point2D
。p2
- 定義弧結束點的 Point2D
。public void setArcType(int type)
OPEN
、CHORD
或 PIE
。
type
- 表示此弧閉合型別的整數常數:OPEN
、CHORD
或 PIE
。
IllegalArgumentException
- 如果 type
不是 0、1 或 2。getArcType()
public void setFrame(double x, double y, double w, double h)
Shape
窗體矩形的位置和大小設置為指定的矩形值。
注意,該弧部分內切於此 RectangularShape
的窗體矩形。
RectangularShape
中的 setFrame
x
- 指定矩形左上角的 X 坐標y
- 指定矩形左上角的 Y 坐標w
- 指定矩形的寬度h
- 指定矩形的高度RectangularShape.getFrame()
public Rectangle2D getBounds2D()
Arc2D
的一部分,即起始角度和結束角度之間的部分;如果此 Arc2D
的閉合型別為 PIE
,則還包含扇形邊。
此方法不同於 getBounds
,getBounds
方法僅返回此 Arc2D
封閉橢圓的邊界,而不考慮此 Arc2D
的起始角度和結束角度。
Rectangle2D
。Shape.getBounds()
protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)
Rectangle2D
,以保存為此弧的窗體矩形計算出的參數。
x
- 窗體矩形左上角的 X 坐標。y
- 窗體矩形左上角的 Y 坐標。w
- 窗體矩形的寬度。h
- 窗體矩形的高度。
Rectangle2D
。public boolean containsAngle(double angle)
angle
- 要測試的角度。
true
;如果弧不包含角度,則返回 false
。public boolean contains(double x, double y)
x
- 要測試的點的 X 坐標。y
- 要測試的點的 Y 坐標。
true
;如果點位於弧的邊界外,則返回 false
。public boolean intersects(double x, double y, double w, double h)
x
- 矩形左上角的 X 坐標。y
- 矩形左上角的 Y 坐標。w
- 矩形的寬度。h
- 矩形的高度。
true
;如果弧與矩形不相交,則返回 false
。Area
public boolean contains(double x, double y, double w, double h)
x
- 矩形左上角的 X 坐標。y
- 矩形左上角的 Y 坐標。w
- 矩形的寬度。h
- 矩形的高度。
true
;如果弧不包含矩形,則返回 false
。Area
,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Shape
中的 contains
RectangularShape
中的 contains
r
- 要測試的 Rectangle2D
。
true
;如果弧不包含矩形,則返回 false
。Shape.contains(double, double, double, double)
public PathIterator getPathIterator(AffineTransform at)
Arc2D
保證對弧幾何形狀的修改不影響該幾何形狀任何進行中的迭代。
at
- 可選的 AffineTransform
,應用於迭代中返回的坐標;如果需要未轉換的坐標,則為 null。
PathIterator
。public int hashCode()
Arc2D
的雜湊碼。
Object
中的 hashCode
Arc2D
的雜湊碼。Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
是否與此 Arc2D
相等。如果該物件是一個 Arc2D
實例,並且其位置、大小、弧度跨越和型別與此 Arc2D
相同,則指定的 Object
與此 Arc2D
相等。
Object
中的 equals
obj
- 要與此 Arc2D
進行比較的 Object
。
obj
是一個 Arc2D
實例並且具有相同的值,則返回 true
;否則返回 false
。Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。