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