java画板实验报告.docx

1二、JAVA画板的设计一、实验名称及其要求A、实验名称JAVA画板的设计B、实验要求1实验目的图形界面设计。熟悉JAVAAWT包中的组件,掌握图形界面设计方法,理解委托事件处理模型。2实验要求(1)设计图形界面添加菜单窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。(2)实现画板的基本功能。二、程序设计本程序完成的是一个类似于WINDOWS画图板的绘图程序。由于不是开发和设计专业的绘图和图像制作软件,所以,完成的程序的简单功能包括以下几项1新建一个空白图形文件用于绘制新的图形。2打开或保存一个图形文件,便于对图形文件的管理。3绘制一些基本的画图组件直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等。4可以用鼠标在绘图面板上单击拖动进行随笔画。5橡皮擦可以将已绘制好的图形擦掉。6添加文字可以在绘图区域内添加文字。7选择文字的字体通过一个下拉式的选择条,可以选中所需要的字体。本程序中包括宋体、隶书、华文彩云、仿宋_GB2312、华文行楷、方正舒体、TIMESNEWROMAN、SERIF、MONOSPACED、SONSSERIF、GARAMOND。当然,在下面的的程序分析中可以看到,由于我们灵活设置了字体数组,是的可以随意添加系统支持的任何字体。大大方便和简化了程序设计。8选择文字的字体风格通过两个复选框按钮,可以选择需要的字体风格,包括粗体、斜体,使用者有三种选择方式,包括①同时选中两者、②只选择其中一种、③两者都不选中。9设置画笔的颜色可以选择当前绘制图形的画笔颜色,让图形更加丰富多彩、生动活泼。10设置画笔的粗细该选项在作用于基本图形组件和文字时,它的效果是不一样的。①当作用于绘制图形组件时,它的作用是改变画笔绘制线条的粗细;②当作用于文2字时,它的作用是改变文字的大小。由此可以看到,虽然我们的画图板程序不及那些专业的绘图程序,但是,“麻雀虽小,五脏俱全”,它已经具备了一个绘图软件所应该有的基本功能和操作。通过对本程序的分析,我们可以更加系统地学习和了解如何从整体上设计和实现一个程序。(一)程序基本组成框架和结构1一组基本图形按钮,包括PENCIL(随笔画)、LINE(直线)、RECT(矩形)、FRECT(实心矩形)、OVAL(椭圆)、FOVAL(实心椭圆)、CIRCLE(圆)、FCIRCLE(实心圆)、ROUNDRECT(圆角矩形)、FRRECT(实心圆角矩形)、RUBBER(橡皮擦)、WORD(文字)。这些基本图形都继承于同一个父类DRAWINGS。DRAWINGS具有变量(属性)INTX1,X2,Y1,Y2//用来存放相应图形元素的坐标INTR,G,B//用来存放图形色彩颜色信息FLOATSTROKE//用来存放画笔粗细INTTYPE//用来保存图形类型STRINGS1//用来保存输入文字字符串STRINGS2//用来保存字体类型字符串同时,DRAWING还具有方法VOIDDRAWGRAPHICS2DG2D{}DRAW方法中用到了JAVA绘图里面的GRAPHICS2D类,所有继承DRAWINGS类的图形子类都重写了此方法。这就是JAVA程序中类的继承的概念。它对于程序代码的重用是很重要的,将极大的方便和简略程序代码。2此外,程序中还包括一下三个基本操作按钮①新建(NEW)新建一个图形文件。②打开(OPEN)打开一个图形文件。③保存(SAVE)保存当前图形文件。3选择颜色和设置当前画笔粗细的按钮分别为颜色(COLOR)、线条粗细(STROKE)。4选择当前字体风格的选择框为粗体(BOLD)、斜体(ITALIC),用以设置当前字体的风格。35选择当前字体的下拉式复选框为STYLES。6菜单条及其组成①文件(FILE)菜单项,包括NEW(新建一个图形文件)、LOAD(打开一个图形文件)、SAVE(保存当前图形文件)、EXIT(退出程序)。②颜色(COLOR)菜单项用来设置当前颜色。③线条粗细(STROKE)菜单项用来设置当前画笔粗细。④帮助(HELP)菜单项有关的程序帮助提示。完成的程序界面效果如下图二)画图板相关操作1新建一个图形文件选择FILE→NEW菜单,则清除当前所绘制的图像,回到初始画面。2打开已有的文件选择FILE→LOAD菜单,则清除当前所绘制的图像,并弹出打开文件对话框要求选择要打开的文件。如下图43保存选择FILE→SAVE菜单,则弹出要求保存文件对话框。4绘制基本图形基本图形包括以下几种PENCIL随笔画,图标为。LINE直线,图标为。RECT矩形,图标为。FRECT实心矩形,图标为。OVAL椭圆,图标为。FOVAL实心椭圆,图标为。CIRCLE圆,图标为。FCIRCLE实心圆,图标为。ROUNDRECT圆角矩形,图标为。FRRECT实心圆角矩形,图标为。5RRUBBER橡皮擦,图标为。绘图时,单击工具栏上相应图形的图标,然后用鼠标拖动,在绘图区域内进行绘图即可。5设置画笔大小单击工具栏上的图标,或单击STROKE→SETSTROKE菜单,则弹出相应的设置当前画笔粗细对话框。如下图6选择颜色单击工具栏区域,或单击COLOR→CHOOSECOLOR菜单,则弹出相应的选择当前画图颜色对话框。如下图1选择字体风格6在工具栏区域,可以选择相应的字体风格,有粗体、斜体和粗斜体三种可供选择。2选择字体在工具栏区域,可以选择字体,本程序中有如下几种字体可供选择宋体、隶书、华文彩云、仿宋_GB2312、华文行楷、方正舒体、TIMENEWROMAN、SERIF、MONOSPACED、SONSSERIF、GARAMOND。三系统功能设计分析画板主要由以下几个部分组成1主窗体的设计。主类(DRAWPAD)用来生成主界面,完成画图板的主要框架。主类由JFRAME派生出来。主界面由菜单栏、工具栏和画图区域三部分组成,布局格式采用BORDERLAYOUT布局形式。2菜单栏和工具栏的设计。菜单栏包括文件菜单栏、颜色菜单栏、线条粗细菜单栏和提示菜单栏。其中①文件菜单栏包括文件的新建、打开、保存等选项;②颜色菜单栏可以进行颜色选择;③线条粗细菜单栏设置线条的粗细;④提示菜单栏给出提示信息。工具栏由新建、打开和保存文件按钮、基本图形的按钮、选择字体风格复选框和字体下拉列表框组成。在主类中添加并对菜单栏和工具栏添加事件监听。3事件响应的处理。对菜单栏、工具栏和用鼠标画图的事件响应进行处理。①菜单栏中文件的新建、打开和保存菜单事件的处理JAVA把每个文件都视作顺序字节流。如果要在JAVA中进行文件处理,则必须用到JAVAIO包。这个包定义了一些流类,选用FILESTREAM(从文件中读入数据)和FILEOUTPUTSTREAM(向文件输出数据),通过建立这些文件的对象便可以打开文件。这些流相应地从STREAM和OUTPUTSTREAM派生,这些文件均使用文件流,所以必须将文件结构化以适应程序的要求。我们需要对保存的对象序列化,然后以输出流的方式保存。在程序中用NEWFILE()、LOADFILE()和SAVEFILE()三个函数分别实现文件7的新建、打开和保存。②工具栏事件的处理主要有一些BUTTON组成。我们用BUTTONHANDLER内部类处理基本

java画板实验_java画板实验报告.docx相关推荐

  1. java画板代码_java 画板画图程序

    [java]代码库import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Board { /** ...

  2. java课程总结_java课程总结报告.doc

    java课程总结报告 java课程总结报告该怎么写呢?下面是带带来的java课程总结报告,请参考! java课程总结报告[1] 刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业 ...

  3. ATM柜员机JAVA课程设计_JAVA课程设计报告银行ATM机系统.doc

    JAVA课程设计报告银行ATM机系统 Java课程设计报告 题 目 银行ATM机系统 所在院系 软件学院 学生姓名 金磊 专 业 R机械+软件 班 级 R机械094 学 号 2011年 7 月 15日 ...

  4. java实验三_java实验三实验报告.docx

    java实验三实验报告.docx 实验报告课程名称面向对象课程设计实验项目名称类的继承班级与班级代码13计算机科学与技术1班实验室名称(或课室)SS1205专业计算机科学与技术任课教师尹华学号1225 ...

  5. 西电java实验报告 界面_西电计算机Java上机实验报告.docx

    西电计算机Java上机实验报告.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  6. java阿基米德螺线_阿基米德螺线图形设计_java基础实验报告.doc

    阿基米德螺线图形设计_java基础实验报告.doc 南京工程学院实验报告课程名称JAVA基础实验项目名称图形用户界面设计实验题目阿基米德螺线图形设计实验学生班级网络132实验学生姓名薛康威学号2021 ...

  7. java多线程贪吃蛇实验报告_JAVA开放性实验报告贪吃蛇

    JAVA开放性实验报告贪吃蛇 JAVA程序设计 开放性实验报告 专 业: 计算机科学与技术 班 级: 2012级2班 学 号: 姓 名: 实验2贪吃蛇游戏设计(4学时) 1.实验内容 (1) 创建软件 ...

  8. java类与对象实验报告心得体会_java上机实验心得体会报告(大全五篇)

    北京联合大学信息学院 "面向对象程序设计"课程上机实验报告 题目: JAVA上机实验心得体会 姓名(学号): 专业:计算机科学与技术 编制时间: 2012年12月19日 版本: 1 ...

  9. java项目实验报告_javaweb项目实验报告.docx

    javaweb项目实验报告.docx 还剩 14页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 4.总结这次课程设计真的是花了很多时间和精力去做的.先 ...

最新文章

  1. 802.1x------2
  2. 如何在ASP.NET中使用Windows Live Web Bar
  3. RDMA技术详解(三):理解RDMA Scatter Gather List
  4. Android --- 新版本取色器吸管工具点击无效,没反应
  5. 前端趋势榜:上周最有意思、又实用的 10 大 Web 项目 - 210821
  6. 叮咚!您收到一份2021知位停车新品发布会暨合作伙伴大会邀请函
  7. 助力句子变换:35W抽象、43W同义、13W简称三大知识库对外开源
  8. filtic函数 matlab_matlab filtic 函数应用 filter 解差分方程 dft 函数
  9. mysql rpm安装报错_Mysql rpm包安装
  10. php.ini 只读,disabled by the php.ini setting phar.readonly
  11. ERROR 1017 (HY000): Can't find file: './hue3/auth_user.frm' (errno: 13 - Permission denied)
  12. Golang slice高级应用
  13. 斐讯K2从第三方固件刷回原厂固件
  14. 深度IP转换器安卓版APP怎么修改OPPO手机IP地址
  15. MyEclipse 8.5 开发环境配置,汉化,Aptana2.0插件,SVN 插件,Flex Builder 3/4 插件安装(转)...
  16. 完美解决远程电脑浏览器空白显示问题
  17. 大数据需要学习什么?
  18. 苹果4如何添加时间插件_Pr快速批量制作和添加字幕,节省时间还不用插件的做法...
  19. 【考研英语语法】强调结构
  20. NPL笔记——语言模型

热门文章

  1. Matlab2019b关于窗函数的详细设置(dsp.window)
  2. 手机号座机号身份证号的规则
  3. 《数据化管理-洞悉零售及电子商务运营》-零售行业分析指标,电商行业分析指标等
  4. Nginx Rewrite跳转
  5. C++模板编程(16)---继承与类模板(Derivation and Class Templates)
  6. 使用AccessibilityService带你自动安装软件以及自动添加微信好友
  7. 6款逼格超高的小众APP,可以让你的手机更好用!
  8. python小区停车练习题
  9. 中图法分类号TP(计算机专业)
  10. 基于php050人事出差白板系统