没有合适的资源?快使用搜索试试~ 我知道了~
绘图java程序报告(含程序)整理.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 8 浏览量
2021-11-06
11:48:35
上传
评论
收藏 903KB PDF 举报
温馨提示
试读
26页
绘图java程序报告(含程序)整理.pdf
资源推荐
资源详情
资源评论
目 录
1. 程序设计内容概论··········································1
1.1 程序设计的目的·········································1
1.2 程序设计的任务·········································1
2 设计思想··················································1
2.1 需求分析···············································1
2.2 总体设计···············································1
2.2.1 面板布局 ·········································1
2.2.2 实现绘画图形······································2
2.2.3 填充功能··········································2
2.2.4 画笔的粗细及画笔的颜色变更· ·······················2
2.2.5 实现鼠标单击和鼠标拖拽进行绘图· ···················2
2.3 编程环境···············································3
2.4. 工具说明··············································3
3 系统流程···················································4
4 设计 UML类图··············································5
5 设计层次结构树············································6
6 运行结果与分析············································7
7 设计总结··················································12
8. 参考文献··················································13
9. 附录·····················································14
1 程序设计内容概论
1.1 程序设计的目的
本程序是一个利用 GUI方法实现简单绘图功能的应用程序。
1.2 程序设计的任务
程序主要创建了 5 个 JRadioButton , 1 个 JCheckBox,2 个 JButton
以及一个 JSlider 用于选择绘画功能操作。接着创建三个面板用于设计
绘图的整体画板,并利用按钮监听器,滑动条和鼠标操作实现在面板上
绘图的简单功能。 在程序中, 利用创建 JRadioButton 实现多选一绘画功
能,创建 JCheckBox实现填充功能,而 2 个 JButton 则分别实现颜色更
变和清除画板。同时本程序使用了鼠标点击,鼠标释放和鼠标拖拽来进
行画板绘画,利用鼠标点击实现初点坐标获取,在绘画曲线时,主要通
过鼠标拖拽实现在画板上不断绘制 (不断进行末点坐标赋值初点) ;在绘
画直线时,主要通过鼠标拖拽达到动态效果,并通过鼠标释放最终描绘
出直线;在绘画矩形和圆时,主要通过鼠标拖拽达到动态效果,并通过
鼠标释放最终描绘出矩形和圆;在绘画粗线时,主要通过不断重画实心
圆来实现。
2 设计思想
2.1 需求分析
2.1.1 面板布局
2.1.2 实现绘画图形(曲线,直线,圆,椭圆,矩形)
3.1.3 填充功能(其中包括圆的填充,椭圆圆的填充,矩形圆的填充)
3.1.4 画笔的粗细及画笔的颜色变更
3.1.5 实现鼠标单击和鼠标拖拽进行绘图
2.2 总体设计
2.2.1 面板布局
主要创建 5 个 JRadioButton , 1 个 JCheckBox,2 个 JButton 以及
一个 JSlider ,同时创建三个面板(一个面板用于绘图,一个面板用于
把所有按钮及滑动条等添加进去,一个面板用于把已经添加了按钮和滑
动条的面板添加进去, 用于区分绘图面板和按钮面板的位置) ,利用盒式
布局管理器将所有的组件(包括 5 个 JRadioButton , 1 个 JCheckBox,
2 个 JButton 以及一个 JSlider )进行布局, 再利用边界布局管理器对面
板进行位置编排,绘图面板在中间,另一个在西边。最终完成了画板的
布局。
2.2.2 实现绘画图形(曲线,直线,圆,椭圆,矩形)
在实现绘画的功能,主要通过创建 ButtonGroup 从而把所有的
JRadioButton 都添加进去,从而达到在描绘图形时多选一的选择功能;
利用按钮监听器,利用 Object source=event.getSource() 语句当
source==op1 时进行曲线绘画,在实现曲线绘画的功能时,主要利用了
鼠标的点击和鼠标的拖拽,通过鼠标的点击来扑捉第一个坐标点,然后
利用鼠标的拖拽来不断变换第一个点的坐标(利用 sx=x 和 sy=y 语句),
从而将所有点都连接起来,最终实现了在画板上描绘曲线的功能;当
source==op2 时进行直线绘画,在实现直线绘画的功能时,主要利用了
鼠标的点击,鼠标的释放和鼠标的拖拽,通过鼠标的点击来扑捉直线的
第一个坐标点,然后利用鼠标的拖拽选择直线的另一个点,最终通过鼠
标的释放在画板上描绘出直线来; 当 source==op3 时进行圆和椭圆绘画,
在实现圆和椭圆绘画的功能时,主要利用了鼠标的点击,鼠标的释放和
鼠标的拖拽,通过鼠标的点击来扑捉圆和椭圆的一个坐标点,然后利用
鼠标的拖拽选择圆和椭圆的大小,最终通过鼠标的释放在画板上描绘出
圆和椭圆来;当 source==op4 时进行矩形绘画,在实现矩形绘画的功能
时,主要利用了鼠标的点击,鼠标的释放和鼠标的拖拽,通过鼠标的点
击来扑捉矩形的一个坐标点,然后利用鼠标的拖拽选择矩形的大小,最
终通过鼠标的释放在画板上描绘出矩形来。
2.2.3 填充功能(其中包括圆的填充,椭圆圆的填充,矩形圆的填充)
通过 JCheckBox创建一个按钮,利用按钮监听器决定是否要描绘填
充图形,如果是则将实现赋值 fill=true ,否则 fill=false ,然后通过
布尔值判断在描绘图形时是 draw 还是 fill ,如果布尔值是 ture 时则实
现了图形的填充。
2.2.4 画笔的粗细及画笔的颜色变更
画笔的粗细主要是通过不断地重画填充圆来实现,通过鼠标的拖拽
不断地在画板上进行重画; 而粗细则由创建的 JSlider 来调节圆的半径,
如果圆的半径越大则所绘出的曲线越粗,反则越细;画笔的颜色变更主
要通过创建的 JButton 按钮,利用按钮监听器,当按下了按钮,则实现
c=JColorChooser.showDialog(right,"choose",c) 语句,从而把初始的
画笔颜色(黑色)改变。
2.2.5 实现鼠标单击和鼠标拖拽进行绘图
通过语句 right.addMouseListener 和语句
addMouseMotionListener(new listen1()) 来设计在 right 面板上进行鼠
标单击和鼠标拖拽等绘图,通过鼠标的单击( mousePressed)获取图形
的第一个点,再利用鼠标的拖拽( mouseDragged)选择图形的形状,大
小和方向等。
2.3 编程环境
本次编程的环境为 JDK。
2.4. 工具说明
本次编程工具为 UltraEdit 。
3 系统流程
Y N
Y N
开始
f=1 f=2 f=3 f=4 f=5
填充
fill=true
曲 线
按钮
直 线
按钮
画 圆
按钮
矩 形
按钮
粗 线
按钮
填充 颜色 清除 画 笔
粗细
fill=false
size
改变
改变颜色
输入颜
色
f=1 f=2 f=3 f=4 f=5
画 出
曲线
画 出
直线
画 出
圆
画 出
矩形
画 出
粗线
剩余25页未读,继续阅读
资源评论
gy51338424
- 粉丝: 0
- 资源: 11万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功