Posted on 2005-08-13 16:46
橘子 閱讀(743)
評論(0) 編輯 收藏 所屬分類:
程序開發
繪圖操作經常涉及大量的坐標運算,Java提供了3種非常有用的類用于操縱空間數值集合。
Point類
Point對象包含兩個整數x和y,Point類允許生成包含某些信息的對象,其中存在3種構造器和new運算符一起用于生成新的Point對象。
Point()
構造x和y坐標為0的新Point對象
Point(int x,int y)
通過指定x和y坐標創建新的Point對象
Point(Point p)
此構造器稱為拷貝構造器,它將生成新的Point對象,其中坐標與參數p的坐標相同。
對于對象的成員數據基本上設置為private,但是對于Point類的x和y數據,Java卻將其設為public,所以下列代碼是合法的
Point?myPoint=new Point(10,3);
myPoint.x=2;
myPoint.y=-1;
Dimension類
Dimension對象中的整數代表某個幾何對象的水平和垂直跨度。
Dimension()
構造width和height都為0的新Dimension對象
Dimension(int w,int h)
構造width=w和height=h的新Dimension對象
Dimension(Dimension d)
創建width、height與參數d相同的新Dimension對象
Rectangle類
Rectangle類是上面兩類的結合,Rectangle對象由點左上角的X和y坐標)和空間跨度(寬度和高度)決定。這四個成員數據名字為x、y、width和height,通過句點符號都可以公共訪問。
Rectangle類的構造器有7個,因此生成新的Rectangle對象十分靈活,其中有3個構造器經常用到,如下所示:
Rectangle(int x,int y,int,w,int,h)
根據4個整數參數構造Rectangle,這4個參數分別指定左上角坐標(x和y),以及寬度(w)和高度(h)
Rectangle(Point p,Dimension d)
根據p定位的Point以及d給定的width和height構造Rectangle對象
Rectangle(Rectangle r)
構造與r的定位點和跨度相同的新的Rectangle對象
在Java程序中矩形被大量使用,主要用于描述許多對象的邊界區域,或者繪制操作發生的剪切區域(clipping region),因此Rectangle類提供了豐富的方法集用于檢查和操縱Rectangle對象
boolean contains(int s,int y)
測試點(x,y)是否包含在矩形中,如果包含,返回true,否則返回false。
Point?getLocation()
返回與矩形定位點的坐標相同的點。
Dimension getSize()
返回寬度和高度與矩形相同的Dimension對象。
void grow(int h,int v)
改變矩形的大小,寬度向左向右同時擴增h,高度向上向下同時擴增v,注意擴增這個詞語并不十分準確,檔h或v為負數時,則矩形會向相應的方向收縮。
void setBounds(int x,int y,int w,int h)
把矩形的定位點和跨度改為參數指定的數值。
void setLocation(int x,int y)
把矩形的定位點改為(x,y)
void setSize(int w,int h)
保持矩形的定位點不變,把矩形的width和height改為w和h。