首页 理论教育 Java程序设计:Point类及其应用

Java程序设计:Point类及其应用

时间:2023-11-26 理论教育 版权反馈
【摘要】:Point类指出一个点的x和y坐标。下面的例8-2要用Graphics类的如下3个方法:其中参数ptAnchor是Point类对象,drawWidth,drawHeight分别是宽度和高度,是两个正数。于是就可用Point类的构造方法中得到ptStart和ptEnd两点:此处应用了Math类的max()和min()方法。

Java程序设计:Point类及其应用

Point类指出一个点的x和y坐标。这个类在创建多边形对象与矩形对象等时十分有用。这个类有如下的一些主要方法。

●public Point(int x,int y):用指定的x和y坐标创建一个点,并对其初始化

●public boolean equals(Object obj):比较两个点,并确定它们是否相等。

●public void move(int x,int y):通过提供新的x和y坐标,移动或重新定位一个特定的点。

下面的例8-2要用Graphics类的如下3个方法:

978-7-111-44824-2-Part01-485.jpg

其中参数ptAnchor是Point类对象,drawWidth,drawHeight分别是宽度和高度,是两个正数。如图8-2a所示。

978-7-111-44824-2-Part01-486.jpg

图8-2 ptAnchor、drawWidth和drawHeight示意图

记矩形的左上角点右下角点分别为ptStart和ptEnd,则有如下计算公式:(www.xing528.com)

drawWidth=ptEnd.x-ptStart.x,drawHeight=ptEnd.y-ptStart.y;因为drawWidth和drawHeight都是正数,所以必须满足以下条件:

ptEnd.x>ptStar.x和ptEnd.y>ptStar.y

例8-2设计在“拖动鼠标”动作中,“单击鼠标左键”即调用方法mousePressed(MouseEvent e)时取得形成矩形的第1个点,记为ptPressed。类似地,当“放开鼠标左键”,即调用方法mouseReleased(MouseEvent e)时获取第2个点,记为ptReleased。注意,这两点可能分别是左上和右下角点,也可能是右上和左下角点,如图8-2c所示。注意到矩形左上角点的x,y坐标是最小的,而右下角点x,y坐标是最大的。所以,有如下公式:

978-7-111-44824-2-Part01-487.jpg

如图8-2b、图8-2c所示。于是就可用Point类的构造方法中得到ptStart和ptEnd两点:

978-7-111-44824-2-Part01-488.jpg

此处应用了Math类的max()和min()方法。

获得了标准的两点ptStart和ptEnd后,上面应用drawOval()等3个方法的参数ptAnchor.x、ptAnchor.y、drawWidth、drawHeight的值已不难获得。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈