已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
二、Java画板的设计一、实验名称及其要求a、实验名称: Java画板的设计b、实验要求:1 .实验目的:图形界面设计。熟悉java.awt软件包的组件,了解图形化接口设计方法,并了解委托事件处理模型。2 .实验要求:(1)设计图形界面的追加菜单:在窗口中追加各种组件和菜单,处理组件和菜单的事件侦听程序。(2)实现画板的基本功能。二、程序设计此程序完成了一个绘图程序,如Windows画板。 因为不是开发和设计的专业描绘和图像制作软件,所以完成的程序的简单功能如下所示1 .创建新的空白图形文件。 创建新图形。2 .打开或保存图形文件使管理图形文件变得容易。3 .绘制基本绘制组件,如线条、矩形、填充矩形、椭圆、填充椭圆、圆、填充圆、圆角矩形和圆角矩形。4 .您可以使用滑鼠按一下并拖曳绘图面板来绘制随笔。5 .橡皮擦:可以擦掉画的图形。6 .添加文字:可以向绘图区域添加文字。7 .选择字符字体:可以在下拉列中选择所需的字体。 本程序包括宋体、所有者书、华文彩云、仿宋_GB2312、华文行书、方舒体、Times New Roman、Serif、Monospaced、SonsSerif、Garamond。 当然,以下程序分析可以灵活地设置字体数组,以便您可以自由添加系统支持的字体。 程序设计大大方便,简化了。8 .选择字符字体样式:使用两个复选框按钮可以选择所需的字体样式。 粗体、斜体和使用者有三种选择:同时选择两者,只选择其中一者,不选择两者。9 .设定画笔的颜色:可以选择当前绘制图形的画笔颜色,使图形更加丰富生动。10 .设定笔刷的粗细。 此选项对基本图形组件和文本的影响不同。 绘制图形组件时,其作用是改变画笔描绘线的粗细用于文字时,具有改变文字大小的作用。由此可知,我们的平板电脑程序不及那些专业的绘图程序,“麻雀虽小,但五脏俱全”,绘图软件应该具备的基本功能和操作。 通过分析本程序,我们能够更加系统地学习并理解程序的整体设计、实现方法。(一) :程序的基本构成框架和结构pencil (随笔)、line (直线)、rect (长方形)、frrect (填充长方形)、oval (椭圆)、foval (填充椭圆)、circle (圆)、fcircle (填充圆)、roundrect (圆角长方形)、frrect (填充圆角长方形)、roundrect (填充圆角长方形)这些基本图形将继承给同一父类drawings。 drawings具有变量(属性)int x1,x2,y1,y2; /存储相应图形元素的坐标int R,g,b; /用于存储图形的颜色信息浮点行程; /保存笔刷的粗细int type; /用于保存图形类型String s1; /用于保存输入字符串String s2; /保存字体类型字符串与此同时,drawing还提供了以下方法void draw (图形2d g2d ) draw ()方法使用Java图面中的Graphics2D类别,并且所有继承drawings类别的图形子类别都会复写此方法。 这就是Java程序中类继承的概念。 这对程序代码的再利用很重要,是非常方便简单的程序代码。2 .此外,程序包括三个基本操作按钮:新建(New ) :新建图形文件。打开(Open ) :打开图形文件。保存(Save ) :保存当前图形文件。3 .选择颜色并设定当前笔刷粗细的按钮是颜色、线条粗细。4 .选择当前字体样式的复选框是用于设置当前字体样式的粗体(BOLD )、斜体(ITALIC )。5 .用于选择当前字体的下拉框为Styles。6 .菜单栏及其构成:文件(File )菜单项包括New (创建新图形文件)、Load (打开图形文件)、Save (保存当前图形文件)和Exit (退出程序)。颜色菜单项目:用于设定当前颜色。线粗(Stroke )菜单项:设定当前笔刷的粗细。帮助(Help )菜单项:相关程序帮助的提示。完成的程序接口的效果如下图所示2 :画板相关操作1 .创建新的图形文件选择FileNew菜单,清除当前绘制的图像,返回初始画面。2 .打开现有文件选择“文件”“加载”菜单可清除当前绘制的图像,显示“打开文件”对话框,提示您选择要打开的文件。 请参见下图3 .保存选择FileSave菜单后,将显示一个对话框,提示您保存文件。4 .绘制基本图形基本图形包括:pencil :随笔画、图标如下所示。line :线条、图标如下所示。rect :矩形,图标如下所示:frect :填充的矩形。 图标如下所示。oval :椭圆,图标如下所示。foval :实心椭圆。 图标如下所示。circle :日元,图标如下所示。fcircle :实心圆,图标如下所示。roundrect :圆角矩形。 图标如下所示。frrect :填充的圆角矩形。 图标如下所示。Rrubber :橡皮。 图标如下所示。绘制图形时,单击工具栏上对应图形的图标,用鼠标拖动,在图形区域内绘制图形即可。5 .设置画笔大小按一下工具列上的图示,或按一下StrokeSet Stroke功能表,以显示设定目前笔刷粗细的对话方块。 请参见下图6 .选择颜色单击工具栏区域或单击ColorChoose Color菜单,显示相应的前景色选择对话框。 请参见下图1 .选择字体样式工具栏区域允许您选择适当的字体样式。 有粗体、斜体、粗体斜体三种选择。2 .选择字体可以在工具栏区域中选择字体。 此程序可以是宋体、所有者书、华文彩云、宋_GB2312、华文行、方舒体、Time New Roman、Serif、Monospaced、SonsSerif、Garamond等字体。3 :系统功能设计分析画板主要由以下部分组成:1 .主窗体的设计。 “主类别”(DrawPad )用于生成主界面并完成画板中的大型机。 主类是从JFrame派生的。 主界面由菜单栏、工具栏、绘图区域3部分构成,布局形式采用BorderLayout布局形式。2 .菜单栏和工具栏的设计。 菜单栏包括文件菜单栏、颜色菜单栏、线宽菜单栏和提示菜单栏。 文件菜单栏中包含新建、打开、保存文件等选项颜色菜单栏可以选择颜色线粗菜单栏设定线粗向菜单栏提示提示信息。工具栏由新建、打开文件、保存按钮、基本绘图按钮、用于选择字体样式的复选框以及字体下拉框组成。 将事件侦听程序添加到主类,并将其添加到菜单栏和工具栏。3 .事件响应的处理。 处理用菜单栏、工具栏和鼠标绘制的事件响应。菜单栏中文件的新建、打开、保存菜单事件的处理: Java按文件视为顺序字节流。 在Java中处理文件时,必须使用Java.io包。 该软件包定义了多个流类,并且可以通过选择FileInputStream从文件读取数据,然后选择FIleOutputStream将数据输出到文件,为这些文件创建对象来打开文件这些流来自InputStream和OutputStream,所有这些文件都使用文件流,因此必须根据程序要求对文件进行结构化。 必须将保存的对象序列化,并将其另存为输出流。 程序使用三个函数创建、打开和保存文件: newFile ()、loadFile ()和saveFile ()。工具栏事件的处理:主要由Button构成。 在ButtonHandler内部类中处理基本单元事件,在ButtonHandler1内部类中处理创建、打开和保存文件的按钮,并在绘图类DrawPanel中定义CreateNewItem ()函数以处理工具栏中的绘图事件鼠标绘图:画板主要是绘图,因此程序需要监听并处理鼠标按下、拖动、进入、退出、移动和独立事件。 内部类mouseA定义了完成鼠标按下、释放、进入和退出的事件响应。 内部类mouseB完成鼠标拖动和移动事件的响应。4 .制图的基本功能。 在编程中使用动态绑定,可以提取公共属性,首先创建父类,然后创建单个子类,继承父类的方法,并重写父类的draw函数。 有些图形形状类别主要用于绘画、字体、橡皮擦等基本类型。 Circle、Triangle、Rectangle等都是从超类(Object类)派生出来的。 在面向对象的编程中,每个类都有自己的draw函数,但每个形状都有不同的draw函数。 但是,无论绘制哪种形状,只需调用父类drawing的draw方法来动态确定程序将根据对象类型使用哪个子类的draw方法。 draw函数使用Graphics2D对象的引用来改善绘制的图形。 因此,不改变原来的程序就可以追加扩展后的图形,程序变得更加强大。 另外,为了保存文件,父类实现了Serialize接口并对对象进行线性化。4 :程序结构的说明本计划的主体是名为QingDrawPad.java的文件。 这包括以下各段: DrawPad () :初始化时使用的构造函数。 chooseColor () :选择当前的前景色程序段。 setStroke () :设定当前笔刷粗细的程序段。 loadFile () :调用图形文件段。 newFile () :创建新的图形文件段。 saveFile () :保存当前正在绘制的图形段。creatingnewitem () :创建新的基本图形单元段。对应的内部类别如下: ButtonHandler :用于处理基本图形单元的按钮事件。button handler1:用于处理new、Open、Save个操作按钮的按钮事件。 DrawPanel :用于创建绘图区域的子类。mouse ea :继承mouse adapter,完成与鼠标事件相应的操作(点击、解除、进入、退出等)。mouse EB :继承mouseemotionadapter,完成与鼠标拖动和鼠标移动相对应的事件操作。它还继承了父类drawings的基本图形子类。 如上所述,这里不再重复。5 :程序绘制效果的示意图我们整个程序界面简洁,而且界面操作、提示内容都是中文,一目了然。 左上角的菜单栏包含四个下拉菜单:文件、颜色、线宽和帮助,用于处理绘图文件。 下列是工具栏工具按钮,从左到右依次为新文件、打开文件、保存文件的随笔画、直线、空心矩形、空心椭圆、空心圆、空心圆、空心圆角矩形、中间圆角矩形、橡皮擦、颜色选择按钮、线粗设定按钮、文字添加按钮、粗体字体选择框整个工具栏是可拖动的,可以拖动到程序窗口中的任意位置。 工具栏下方的整个白色区域是绘图区域,也就是绘图面板,您可以根据窗口的大小自动调整大小。 窗口底部是编程人员的注释和鼠标状态提示栏,用于查看当前鼠标的状态,如窗口的进出、移动、单击和释放。 具体效果如下图所示import java.awt.* .import java.awt.geom.* .import java.awt.event.*import javax.swing.* .import java.io.*import java.util.*publclassdrawpadextendJFrame/主类扩展jframe类并生成主接口装模作样私有对象输入输出;private ObjectInputStream input;privateobjectoutputstreamoutput; /定义调用和保存图像文件的I/o流包含private JButton choices /按钮排列、以下名称的功能按钮私有字符串名称 = new ,打开,“Save”、“Save”这三个是基本操作按钮,包括“新建”、“打开”、“保存”/*我们画板上的几个基本绘图单元按钮*/ pen , line , rect , frect , oval , foval , circle , fcircle , roundrect , frect , rubber , color , stroke , word 私有字符串样式名称 = 宋体,所有者书,华文彩云,宋_GB2312 ,“华文行书”、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 管道施工现场奖惩制度
- 书法课的奖罚制度
- 物流企业安全奖惩制度
- 警务人员激励奖惩制度
- 医院新农合工作奖惩制度
- 医生门诊奖惩制度范本大全
- 品牌督导奖惩制度汇编
- 关于物业员工奖惩制度
- 技术研发中心奖惩制度
- 物业岗位考核奖惩制度
- 聚氨酯地坪施工方案及工艺要求
- 常压储罐完整性管理系统:构建、应用与展望
- 电力线路巡检报告模板
- 劳务合同2026年合同协议
- 2025年高职(金融科技应用)金融科技基础专项测试试题及答案
- 理疗店应急预案(3篇)
- 2026年新疆生产建设兵团兴新职业技术学院单招职业技能测试题库及答案详解一套
- 鼾症科普宣传课件
- 义务教育《英语课程标准》(2025年修订版)原版核心框架+深度解读+测试题及答案
- 配电箱设备防护维护技术方案
- 2026年苏州工业职业技术学院单招综合素质考试题库附答案
评论
0/150
提交评论