Java画图程序设计

画图应用程序设计与实现

第1部分  设计的内容要求

给出设计的内容与要求

1.1       

编写Windows自带画图程序,编写Applet或Application,使用鼠标在屏幕上随意画图:直线,矩形,圆角矩形,椭圆、圆等。

 

1.2     

功能要求:

1.       实现绘图中的各种图形的绘制

2.       实现菜单、工具按钮等,实现对色彩,字体的设置等

3.       鼓励添加更加新颖的特色功能

 

第2部分  设计思想

根据你系统的实现,给出系统实现主要思想,算法,采用的技术。

2.1     主要思想

使用面向对象的分析与设计方法进行分析设计。这个软件主要由两个类构成,分别是实现画图的JPanel类派生类mycanvas类和主界面的JFrame类派生类mywindow类。主界面使用mywindow类构造,将各个功能放在界面的工具栏内实现。画图部分通过使用mycanvas类里继承自JPanel类的paint函数,通过graphics类对象的各种draw函数实现绘画。

 

 

2.2   算法和采用的技术

       (1)绘画种类的选择通过在mycanvas类里定义标志变量flag实现控制,mywindow界面工具栏中选择绘画种类的menu item点击后会修改mycanvas中的标志变量flag,然后print函数中根据flag的值画出指定类型的图形。

(2)因为要连续显示直线,所以需要不断调用repaint函数但是又要保留画布上原先绘画的内容,这里使用截图函数createScreenCapture()函数截取屏幕上的画布部分存储到Bufferedimage类中,在paint函数前添加drawimage()函数,先画之前保存的图片,实现重绘。

(3)在mycanvas类中添加mouselistener和mousemotionlistener两个监听器实时获取鼠标的位置,获取绘图的参数。

第3部分  详细设计

给出系统的详细设计。各个功能的详细实现过程,必须给出主要算法和重要函数的的流程图,流程图必须是正确的

3.1   流程图

Mywindow init函数流程图:                               Mywindow savepic函数流程图:

流程图1.2

 

 

 

 

 

 

 

                                                                    
       流程图1.1

 

 

 

Paint函数流程图:

流程图1.3

 

 

第4部分  运行效果图

画曲线:类似刷子的功能可以自己拖动绘制曲线

                      图1.1

画直线:拖动绘制直线

                      图1.2

画圆:拖动绘制圆形

                      图1.3

 

 

 

画矩形:拖动绘制矩形

                        图1.4

写文字:点击后弹出弹窗,输入文字内容后,点击

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值