`
陌上烟雨
  • 浏览: 4224 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
社区版块
存档分类
最新评论

画图板小结

阅读更多
                   
画图板总结

一 窗体设置
  做画图板的第一步是设置窗体,主要是在设置好画图板的主窗体,并将工具面板、颜色面板以及画图面板三部分加到主窗体上,使得主函数运行时可以出现画图板的大致窗体。其中,主窗体用JFrame实现,其余各个面板用JPanel实现,工具面板、颜色面板上的按钮用JButton实现,画布用Graphics加在画图面板上实现。

二 功能实现
    初步的窗体设置好之后,是实现按钮的功能,每个按钮向其添加监听器,并在监听器里对各个功能进行实现。在实现工具面板的按钮时,基础的有drawLine、drawOval、drawRect、drawRoundRect等。在实现颜色面板的按钮时,用自己写的方法getColor实现和setColor,将画笔颜色设置为所选择的按钮的背景色来实现。

三 功能优化
    初步的画图板功能实现之后,是一定程度的优化。
  1双击颜色面板,弹出颜色选择器,用getClickCount得到鼠标点击次数,然后统计鼠标点击次数之后用JColorChooser实现。
  2 增加菜单栏,用MenuBar实现。增加线条粗细选择选项,在ToolPanel里增加新面板并将线条粗细的选择按钮加上去,添加监听器,用自己写的方法getStroke与setStroke实现线条粗细的改变。
  3 改变画布大小,当鼠标点击移动的位置处于画图面板边缘附近时,改变画图面板的大小,并将其设置为鼠标释放时的尺寸,重绘画图面板并重新获得画布,使画布大小得到改变。
  
四 重绘
    重绘的实现。在画布上画图之后,程序最小化再打开,所绘图像消失。因此,通过重写JPanel的Paint方法,用集合将所绘的图像的像素存储起来,程序重新打开时在画布上重绘之前所存储的图形。

五 绘图文件保存
    使用InputStream和OutputStream、DataInputStream与DataOutputStream,将所绘制图片的信息写入到新的路径中,实现文件的保存与打开,其中,保存时要传入截屏图像BufferedImage作为参数。保存与打开的路径通过JFilechooser进行选择。
这部分我还未完成,理解尚不够深刻。
分享到:
评论

相关推荐

    java学习小总结——画图板制作(附代码)

    NULL 博文链接:https://xiaoyjj.iteye.com/blog/1702155

    java画图板的总结

    NULL 博文链接:https://pengchenming.iteye.com/blog/1399196

    C游戏编程从入门到精通(13M)

    目 录 第1章 猜数字游戏 1 1.1 游戏创意 1 1.2 游戏规划 2 1.3 程序实现 4 1.4 游戏调试 6 1.5 文本模式游戏制作 8 1.5.1 文本窗口函数 9 1.5.2 INT10中断功能 11 1.6 本章小结 11 第2章 用C语言函数库画图 12 2.1 ...

    DXP实验报告.pdf

    8 内容) (1)原理图的绘制 (2)PCB 封装 六、综合练习与结果(实验板) (1)原理图的绘制 (2)PCB 封装 七、小结 常熟理工学院课程设计报告 2 一、 原理图绘制实训内容、主要步骤说明和小结 (1)原理图的绘制 ...

    Java典型模块

    1.4 小结 第2章 Java面向对象编程 2.1 面向对象的一些概念 2.1.1 面向对象涉及的概念 2.1.2 类和对象 2.2 面向对象的一些特性 2.2.1 继承特性 2.2.2 多态特性 2.2.3 封装特性 2.3 Java中实现的面向对象特性 2.3.1 ...

    《Visual C++数字图像处理开发入门与编程实践》源码

    第1章 Visual C++与数字图像处理 1 1.1 数字图像处理概述 2 1.1.1 图像与数字图像 2 1.1.2 数字图像处理研究的内容 4 1.1.3 数字图像处理的应用 6 1.2 Visual C++概述 8 1.2.1 C++语言简介 8 ...15.5 本章小结 640

    疯狂JAVA讲义

    1.9 本章小结 22 本章练习 22 第2章 理解面向对象 23 2.1 面向对象 24 2.1.1 结构化程序设计简介 24 2.1.2 程序的三种基本结构 25 2.1.3 面向对象程序设计简介 27 2.1.4 面向对象的基本特征 28 2.2 UML...

    信息技术兴趣小组活动记录.doc

    兴趣小组活动记录 "辅导 " "参加学生"20 ... " "小 " " "结 " " 兴趣小组活动记录 "辅导 " "参加学生"20 "活动时 "周五 "活动地 "微机室 " "教师 " "数 " "间 " "点 " " "活动 "好用的铅笔 "教具 "计算机 " "内容 "

    1信息技术兴趣小组活动记录.doc

    兴趣小组活动记录 "辅导 " "参加学生"24 ... " "小 " " "结 " " 兴趣小组活动记录 "辅导 " "参加学生"24 "活动时 "3.14 "活动地 "微机室 " "教师 " "数 " "间 " "点 " " "活动 "好用的铅笔 "教具 "计算机 " "内容

    计算机系统教学设计.doc

    (根据学生的回答,教师作出相应 的小结)。同学们,你们所说的这些名词有的是计算机的硬件,有的是计算机的软件,还 有一些则是计算机的应用,今天我们就要学习计算机的组成,计算机是由硬件和软件两 个部分组成的。...

    第3课--认识计算机-教学设计.doc

    (根据学生的回答,教师作出相应的小结)。同学们,你 们所说的这些名词有的是计算机的硬件,有的是计算机的软件,还有一些则是计算机的 应用,今天我们就要学习计算机的组成,计算机是由硬件和软件两个部分组成的。...

    第1课认识计算机教学设计.docx

    (根据学生的回答,教师做出相应的小结)。同学们,你们所说的这些名词有的是计算机的硬件,有的是计算机的软件,还有一些则是计算机的应用,今天我们就要学习计算机的组成,计算机是由硬件和软件两个部分组成的。通过...

    计算机应用基础教学计划.docx

    4、每节做小结,每结束一章要做总结并布置上机综合实训操作练习。 三、教学安排及教学考核方法: 本学期教学计划安排 15 周,约计授课 90 学时。其中课堂讲授 40 学时,实践 50 学时。 期末以上机实践操作为主要...

    python入门到高级全栈工程师培训 第3期 附课件代码

    03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用层 第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3章 01 网络基础和dos命令 02 为何学习...

    cmd操作命令和linux命令大全收集

    50. mspaint--------画图板 51. mstsc----------远程桌面连接 53. magnify--------放大镜实用程序 54. mmc------------打开控制台 55. mobsync--------同步命令 57. iexpress-------木马捆绑工具,系统自带 58...

    计算机应用技术(实用手册)

    计算机应用技术 实用手册 Xnllz 2011.7.29 ...有时候在系统的任务栏你见不到小喇叭有可能在这里被关闭了,即:[DISABLED],遇到这种情况可从新进入COMS把此项打开即可,即:[ENABLED]。 SATA...

Global site tag (gtag.js) - Google Analytics