- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA画板概要1
学院名称计算机科学学院专业名称软件工程课程名称JAVA高级程序设计实验名称综合练习1选题2、JAVA画板姓名学号完成日期2013年11月19日一、实验目的1、熟练掌握Java工程的文件组织方法2、熟悉Java用户界面程序开发3、熟练掌握类和接口的继承4、熟练掌握多类之间的分工组织二、实验内容结构设计程序以Frame为主窗口,主要分为两个区,工具栏区和画板区。工具栏区为选择各种图形,及橡皮擦,调节画笔粗细等。画板区主要是监听鼠标在其上产生的消息,以及当前选择的图形来实现图形的绘制,在每次捕获到鼠标消息时,便重新绘制界面。功能概要主要功能实现菜单,各种图形的选择,画笔的调节,以及保存打开图片等。具体的实现过程如下:在程序中设置图形标志,建立图形超类Shape类,各种特殊图形均继承自Shape类,在实例化图形时,便使用超类作为返回类型,并定义一个超类的变量来接受每次实例化的对象。超类中用抽象关键词建立一个绘画函数,各种图形在继承后都需要针对各种图形的特点实现绘画函数,以便画出特殊图形。在绘画前会设置颜色及画笔的粗细等参数。结论通过几天的思考及上机实践,很大程度上完成了预期的目标,其中不乏有各种各样的问题与难题出现,但是好在网络时代的方便以及书本内容的丰富,难题都一一迎刃而解,期间的收获不言而喻。总体来说完成预期目标。三、实验过程实验截图1、Java工程的结构:2、打开后的初始界面:3、各种图形及橡皮擦(可调节画笔的粗细及颜色):4、可保存和打开图片:5、撤销及重画功能:6、保存效果及关于:7、颜色选择功能:8、全屏显示功能:画板源码me.peng.windowWhitebordpackage me.peng.window;import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.Insets;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem;import java.awt.MenuShortcut;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import java.awt.event.WindowStateListener;import java.awt.image.BufferedImage;import javax.swing.ImageIcon;import javax.swing.JColorChooser;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import me.peng.util.Config;import me.peng.wight.BrowMenu;import me.peng.wight.PaintPanel;publicclass Whitebord extends Frame implements WindowListener{/* * 主程序是一个Frame窗口,主要分为两个区。 * 一区为工具条区,包含一些工具,如图形选择,橡皮擦,线条的粗细等。 * 二区为画图面板区,可以使用鼠标绘画一些图形。 */privatestaticfinallongserialVersionUID = 1L;private BrowMenu panel;private PaintPanel paintPanel;private MenuBar menuBar;privatefinalstatic String[] menu1 = {新建,打开,保存};privatefinalstatic String[] menu2 = {撤销,重做};privatefinalstatic String[] menu3 = {全屏,属性,关于};publicstaticvoid main(String[] args) {for(String string : args){System.out.println(string);}new Whitebord(); }/* * 实例化画板 */public Whitebord() {super(画板 - 2011级软件工程
文档评论(0)