- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java简单绘图程序实验报告
华南师范大学本科学生实验报告
姓名_邱海森_ 学号 20082100079
院系 计算机学院 班级 08级网工7班
实验时间 2010_年 6 月 1 日
实验名称 java:简单绘图程序
指导老师及职称: 陈俊侠
华南师范大学教务处编印
Java实验 简单的绘图程序
一 实验目的
学会Netbeans的使用,能进行Netbeans的基本操作,能使用Netbeans构造一个图形界面框架
通过实验熟悉swing图形用户界面程序设计
熟悉java中的事件处理模型,每个事件动作代表的意义
进一步提高编程能力,学会独立思考,学会上网查找资料解决问题。
二 实验要求
以课本上随手画例程为蓝本,设计一个程序,该程序能够绘制基本的图形(包括圆形、矩形、直线等);要求有一个简单易操作的用户界面(包括菜单、按钮等组件)。
编写的程序要求能够实现保存和读取的功能
三 实验步骤
使用Netbeans设计程序的用户界面
新建一个Frame窗体,作为容器
向Frame窗体中添加基本组件,包括一个JMenuBar(菜单栏),向菜单栏中添加两个JMenu(菜单)(jMenu1、jMenu2),在jMenu1中添加四个jMenuItem(新建、打开、保存、退出),在jMenu2中添加四个jMenuItem(圆形、矩形、三角形、直线)。效果如下:
在Frame窗体上添加JTextArea文本区域,用来在上面绘制图形
添加四个单选按钮,用于选择图形,把四个按选按钮放进一个工具栏中,在同一个按钮组中,实现互斥。
效果如下:
至此,图形界面已经基本设计完毕
实现图形的绘制
(1)鼠标拖动绘制图形:添加鼠标按下事件,添加鼠标拖动事件,向其中填写正确的能执行的代码。
遇到的问题:可以实现鼠标拖动绘制图形,但是在鼠标拖动的过程中,却绘制出了多个图形。如图所示:
解决问题的方法:问题出在“鼠标拖动消息函数中”;我们在画图形时,应该先把“刚才”绘制的图形擦出掉。在绘制图形的过程中通过改变画笔的颜色实现多个图形的消除。
首先,在鼠标拖动事件中,把画笔的颜色设置成背景颜色(即白色),拖动鼠标时,绘制图形使用的是背景颜色,在原图形位置上重新画。这样我们是看不到的,可以说是擦除了。然后把画笔设置成前景色,绘制一次图形。如:画直线
Graphics g=jTextArea1.getGraphics(); //画笔
g.setColor(jTextArea1.getBackground()); // 画笔颜色设置成组件背景颜色
g.drawLine(pStart.x, pStart.y, pEnd.x, pEnd.y);// 在直线起点和终点之间画、//直线,用背景色在原直线位置上重复画直线就是擦除直线
g.setColor(jTextArea1.getForeground());//设置画笔颜色为前景色
g.drawLine(pStart.x, pStart.y, evt.getX(),evt.getY());//在直线的起点和光标的//当前拖动位置点之间画一条直线
pEnd=evt.getPoint();//把直线的终点更新为鼠标当前拖动位置点。以便下一//次画直线前擦除
程序基本上已经可以实现了简单的绘图功能。但是仍然有一些问题。
问题1:如果绘制的图形出现重叠,重叠的那部分会有模糊现象,会被“擦除”。如图:
原因分析:所绘制图形的有关信息没有保存起来,没有实现“交叉擦除现象”出现是重新绘制已画图形的功能。
解决方法:把已经绘制的图形的有关信息保存起来,当出现“交叉擦除现象”时重新绘制已经绘制好的图形。
我们引入几个类
抽象类:
类名:Figure
抽象成员函数:void DrawFigure (Graphics g)
2.直线类
类名 Line 父类:Figure
成员变量1:Point pS
成员变量2:Point pE
成员函数 1:成员变量的初始化构造函数
成员函数 2: 对父类中DrawFigure抽象函数的实现
3. 矩形类
类名:Rect父类:Figure
成员变量1:Point pS
成员变量2:Point pE
成员函数 1:成员变量的初始化构造函数
成员函数 2: 对父类中DrawFigure抽象函数的实现
4. 椭圆类
类名:Oval 父类:Figure
成员变量1:Point
您可能关注的文档
- Excel XP斜线表头.doc
- Excel 在账务处理中的应用.ppt
- Etrade之現況與經營模式.ppt
- ERP项目奖惩管理制度.doc
- EXCEL_数组公式入门.doc
- excell的应用技术.ppt
- ESD防护作业管理办法.doc
- Excel单元格自定义格式代码详解.docx
- Excel基本操作 《计算机应用基础》.ppt
- excel数组公式从入门到精通 增强版 汇总版.doc
- 2024年广东省湛江市雷州市华侨管理区虚拟镇招聘社区工作者真题参考答案详解.docx
- 2024年广东省梅州市大埔县洲瑞林场招聘社区工作者真题及答案详解一套.docx
- 期末综合达标卷二(试卷)2024-2025学年六年级语文下册统编版.docx
- 期末模拟测试(试卷)2025-2026学年六年级语文上册(统编版).docx
- 金属非金属矿山安全管理制度.docx
- 出租车公司安全生产管理制度.docx
- 2024年广东省揭阳市普宁市高埔镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年广东省河源市紫金县紫城镇招聘社区工作者真题附答案详解.docx
- 2024年广东省惠州市惠阳区平潭镇招聘社区工作者真题及参考答案详解1套.docx
- 2024年广东省梅州市梅县梅西水库招聘社区工作者真题及参考答案详解.docx
最近下载
- 【TiKTok运营】TikTok变现方式全解析-市场营销策划-TikTok市场分析报告-TikTok.pptx VIP
- 旅游目的地形象与游客信任关系研究——以桂林为例.pdf VIP
- (高清版)C-J∕T 244-2016 游泳池水质标准.pdf VIP
- GB50263-2007气体灭火系统施工及验收规范.docx VIP
- 2020法安通DHB-FANT7100 电气火灾监控系统设计手册.docx VIP
- 秒杀韩文字母表-半小时学会念韩文.doc VIP
- 美的集团公司分权手册.pdf VIP
- 学习贯彻党的二十届三中全会线上知识答题.docx VIP
- 《中国糖尿病足防治指南(2023年版)(Ⅰ、Ⅱ)》要点.docx VIP
- 抽沙合同协议书.doc
文档评论(0)