画图板总结
一 窗体设置
做画图板的第一步是设置窗体,主要是在设置好画图板的主窗体,并将工具面板、颜色面板以及画图面板三部分加到主窗体上,使得主函数运行时可以出现画图板的大致窗体。其中,主窗体用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实现一个基本的画图板,同时提供相关的源码分析。 1. Java GUI基础 Java提供了丰富的类库用于创建GUI,主要在java.awt和javax.swing包下。在这个项目中,我们可能会使用`JFrame`作为主...
在Java编程语言中,画图板(Canvas)是图形用户界面(GUI)开发的一个关键组件。它是Java AWT(Abstract Window Toolkit)库的一部分,用于在窗口上绘制图形。Canvas类继承自Component,允许程序员直接在屏幕上进行...
6. 设计小结 本报告对 Java 画图板应用程序的设计与实现进行了详细的介绍,涵盖了程序的设计要求、设计环境、总体设计、详细设计与实现、系统测试等方面。程序的设计与实现遵循了 Java 语言的编程规范和设计原则,...
6. **设计小结** 通过本次设计,开发者不仅掌握了Java GUI编程技术,还深化了对事件处理、文件操作和图形绘制的理解。Eclipse的灵活性和扩展性为项目的实现提供了便利,同时也锻炼了开发者对开源工具的运用能力。 ...
该设计方案共分为八个部分:教学目的、教学重难点、教学过程、认识“画图”窗口、尝试完成任务、保存文件、退出“画图”窗口和课堂小结。 一、教学目的 本设计方案的教学目的旨在帮助学生掌握启动与退出“画图”...
课堂小结回顾了画图程序的基本操作,强调了铅笔工具的使用和颜色选择。扩展练习鼓励学生创新,设计出“美丽家园”的画面,提高他们的绘图技能。 在后续的课程中,进一步教授了“铅笔”工具的使用技巧,包括如何画...
目 录 第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 ...
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 ...
在第一章“认识神奇的画图板”中,教学目标主要包括以下几个方面: 1. **知识目标**:学生将初步认识“画图”窗口的布局,理解工具箱中各种工具的功能,例如刷子、填充工具等。同时,他们会了解到多媒体计算机的...
第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
* 对前面学习的“写字板”、“画图”等软件进行回顾 * 引入 word2003 软件 二、教学新课 * 启动 word2003 程序 * 认识工作界面 * 输入儿歌 * 保存文件 三、小结 * 总结今天的学习内容 * 介绍 word2003 软件的更...
课堂小结部分,回顾了启动和退出画图程序的方法,以及如何调整画布大小。此外,还提出了三个思考问题,引导学生思考画图技巧、软件的一般启动和退出方式,以及自我评估课程中未掌握的知识点。 总的来说,这堂课涵盖...
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...
- 附件:所有附件默认保留,因为它们提供了各种实用工具,如记事本、画图等,对于日常使用非常有用。 - 驱动:全部保留,因为驱动是硬件正常工作所必需的,确保所有硬件设备都能正确识别和运行。 - 语言包:只...