Posted on 2005-08-13 16:46
橘子 阅读(733)
评论(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。