JAVA画图形学-实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告 本程序主要运用java2D提供的强大画图功能,来画直线、椭圆、矩形。首先,是在工具栏中选择要绘制的图形,然后通过鼠标的拖拽来完成图形的绘制。 实现绘图面板 在绘图面板中要实现两个功能,一是跟踪鼠标事件,另一个是覆盖paint方法绘制图形。 鼠标的跟踪通过MouseListener接口来实现,在本绘图程序中,要实现其中的mousePressed和mouseReleased方法,即在开始单击鼠标左键(mousePressed)时,设置绘制图形的起始点,起始点的位置由MouseEvent类的getX和getY方法分别得到。在释放鼠标(mouseReleased)时,设置所绘制图形的终点,终点的位置也由getX和getY方法得到,同时利用两个点的位置信息绘制屏幕。代码如下: public void mouseReleasedMouseEvent e point[1]new Pointe.getX,e.getY; } public void mouseReleasedMouseEvent e point[1]new Pointe.getX,e.getY; repaint; } Paint方法描述了组件的绘制方法,通过覆盖该方法,可绘制各种需要的图形。在本程序中,通过一个swith-case结构来设置绘制图形的类型。Shape参数来自于工具栏,通过drawShape方法传入,shape为0、1、2时画线、画圆、画矩形,它们分别通过Graphics类的drawLine、drawOval、drawRect方法完成。这部分的主要代码如下:switch shape case 0: g.drawLinepoint[0].x,point[0].y,point[1].x,point[1].y; break; case 1: int widthpoint[1].x-point[0].x; int heightpoint[1].y-point[0].y; g.drawOvalpoint[0].x,point[0].y,width,height; break; case 2: widthpoint[1].x-point[0].x; heightpoint[1].y-point[0].y; g.drawRectpoint[0].x,point[0].y,width,height;break; 2.演示程序在用户界面上方设置了一个工具栏,包含3个按钮,这3个按钮组成按钮组,某时刻只能一个按钮被有选中。 在按钮的事件处理中,调用ActionEvent类的getSource方法得到事件源,将它与3个按钮进行比较,可得到事件来自于哪个按钮,并将这个参数通过PainterPanel类的drawShape方法传递到PainterPanel实例中,这样在发生鼠标拖拽时,就能根据shape的值来确定应该绘制哪种图形。主要代码如下:for int i0;ibutton.length;i++ if e.getSourcebutton[i] painter.drawShapei; 本程序的运行效果如下图:

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档