JAVA简单画板程序设计实验报告材料.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
JAVA期末画板实验报告 课程题目: 运用JAVA语言编写一个画板程序,这个画板要有画图,特殊图形绘制,颜色改变,画笔 大小改变等功能. 设计思想: 1. 进展界面设计 2. 进展算法实现 3. 运行调试 4. 总结问题 设计过程: A. 界面设计新建一个Jframe容器,然后定义一个panel〔 Panel convas2〕,convas2是工具栏.用borderlayout布置容器的边框布局,将工具栏放在NOR TH局部.完成界面设计. add<canvas2,BorderLayout.NORTH>; Panel canvas2 = new Panel<>; 添加工具按键 Panel canvas2 = new Panel<>; Button btn1 = new Button<"直线">; Button btn2 = new Button<"椭圆">; Button btn3 = new Button<"矩形">; Button btn4 = new Button<"去除">; Button btn5 = new Button<"画笔">; Button btn6 = new Button<"橡皮">; Choice choice = new Choice<>; Choice choice1 = new Choice<>; canvas2.add<choice>; canvas2.add<choice1>; canvas2.add<btn1>; canvas2.add<btn2>; canvas2.add<btn3>; canvas2.add<btn4>; canvas2.add<btn5>; canvas2.add<btn6>; 在工具表中,有两个下拉菜单,分别收录画笔的大小和颜色. 1. 画笔的大小: choice1.add<"1">; choice1.add<"3">; choice1.add<"5">; choice1.add<"7">; choice1.add<"9">; 2. 画笔颜色 choice.add<"黑色">; choice.add<"蓝色">; choice.add<"红色">; choice.add<"黄色">; choice.add<"绿色">; 3展示画板 B. 算法实现 运用画板,首先要对工具栏按键和鼠标进展监听,然后对监听进展响应.运行相应程序进 展画图 1. 监听程序展示: choice.addItemListener<this>; choice1.addItemListener<this>; btn1.addActionListener<this>; btn2.addActionListener<this>; btn3.addActionListener<this>; btn4.addActionListener<this>; btn5.addActionListener<this>; btn6.addActionListener<this>; addMouseListener<this>; addMouseMotionListener<this>; 2. 按键监听响应 监听到按键后,判断当前会话工具 publicvoid actionPerformed<ActionEvent e> { if<e.getSource<>.equals<btn1>> { a='1'; } if<e.getSource<>.equals<btn2>> { a='2'; } if<e.getSource<>.equals<btn3>> { a='3'; } if<e.getSource<>.equals<btn4>> { Graphics g = this.getGraphics<>; g.clearRect<0, 0, this.getWidth<>, this.getHeight<>>; } if<e.getSource<>.equals<btn5>> { a='4'; } if<e.getSource<>.equals<btn6>> { a='5'; } } 定义一个变量a,对按键监听进展响应,例如当监听到btn1时赋值a='1'〔a为char型 〕,即当前工具为直线.但是当监听到btn4时不进展对a赋值而是直接进展去除操作 ,由于去除操作是对画布进展去除,不参与鼠标事件,因此可以直接执行. 3. 鼠标监听响应 a. 鼠标按钮按下事件,获取画图起始坐标x0,y0. publicvoid mousePressed<MouseEvent e> { x0=e.getX<>; y0=e.getY<>; } b. 鼠标移动事件 publicvoid mouseMoved<MouseEvent e>{ } c. 该实验报告介绍的是一个使用Java语言编写的简易画板程序设计。这个程序具有画图、绘制特殊图形(如直线、椭圆和矩形)、改变颜色和调整画笔大小的功能。设计过程中,主要分为四个步骤:界面设计、算法实现、运行调试和问题总结。 **界面设计**: 首先创建了一个JFrame容器作为主窗口,并定义了一个Panel(命名为canvas2)作为工具栏。使用BorderLayout布局管理器,将工具栏放置在窗口的北部。在工具栏中添加了各种功能的按钮,如直线、椭圆、矩形、清除、画笔和橡皮等。同时,还有两个下拉菜单,一个用于选择画笔的大小,一个用于选择颜色。 **算法实现**: 1. **监听机制**:为了实现画板功能,需要监听工具栏的按钮点击以及鼠标的动作。通过添加各种监听器(如addItemListener、ActionListener、MouseListener和MouseMotionListener)来捕获用户的操作。 2. **按键监听响应**:当检测到按钮被点击时,会根据点击的按钮来确定当前使用的工具。例如,如果点击了“直线”按钮,则设置变量a为'1',表示当前工具为直线。对于“清除”按钮,不需要设置变量a,而是直接清空画布。 3. **鼠标监听响应**:包含鼠标按下事件和鼠标移动事件。当鼠标被按下时,记录下起始坐标x0和y0;在鼠标移动过程中,根据当前工具(由变量a决定)进行相应的绘图操作。 在代码中,`actionPerformed`方法用于处理按钮点击事件,`mousePressed`方法用于处理鼠标按下事件,而`mouseMoved`方法则是处理鼠标移动事件,但在这个简单的描述中,`mouseMoved`方法没有具体实现内容,通常在实际代码中会在这里进行画图逻辑的处理。 **总结**: 这个Java画板程序展示了基本的GUI编程概念,包括组件的创建、布局管理、事件处理等。通过监听用户交互,程序能够动态响应用户的绘画需求,提供了一个简单易用的画图环境。对于初学者来说,这样的项目有助于理解Java图形用户界面(GUI)编程的基本原理和实践。在实际应用中,可能还需要进一步完善,比如增加颜色和画笔大小实时更新的功能,以及更复杂的图形绘制算法等。
剩余22页未读,继续阅读
- 粉丝: 105
- 资源: 9352
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助