画图画板设计模式课程设计任务书

合集下载

画图板 课程设计报告

画图板 课程设计报告

合肥学院计算机科学与技术系课程设计任务书2011~2012学年第二学期课程JA V A语言课程设计课程设计名称画图板专业班级08网络工程(1)指导教师金莹郭昌建2011年9月一、课程设计目的通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。

(5)熟练掌握JA V A语言事件处理、图形界面、多媒体编程,灵活运用各种类库。

二、课程设计名称及内容课程设计名称:画图板设计内容:制作一个图形编辑系统—画图板,要求具有画笔、画各种图型,输入文字,橡皮檫等功能,具体参见附件中“画图板”。

三、任务和要求(1)能用拖橡皮檫的手法绘制各类图形(直线、椭圆、矩形、文字)(2)支持画笔颜色、文字大小设置;(3)能将画面中的所有图形存储到文件中;(4)能从文件读取图形进行增补;(5)采用对话框获取图形文件名;(6)利用鼠标选取图形,删除;四、设计方案提示可以采用橡皮筋技术来进行图形的绘制,绘制图形时鼠标的初始位置很关键,它关系到图形的初始位置,由于是在鼠标处于拖动状态下绘制图形,可以将鼠标按下时的位置设置为初始位置。

五、其它程序设计可在Eclipse、JDK1.5或JBuilder环境下实现六、参考资料[1]吕凤羽、马皓《JAVA程序设计》清华大学出版社[2] 耿祥义《JAVA课程设计》清华大学出版[3] 黄小东《Java课程设计案例精编》中国水利水电出版社[4]印旻《Java与面向对象程序设计》清华大学出版社。

绘图板的课程设计

绘图板的课程设计

绘图板的课程设计一、课程目标知识目标:1. 学生能理解绘图板的基本功能与操作方法,掌握绘图软件的基本工具使用。

2. 学生能运用几何图形和线条创作简单的图画,表达个人创意。

3. 学生了解基本的色彩理论,并能在绘图作品中恰当运用。

技能目标:1. 学生培养观察力与空间想象力,通过绘图板准确表达所思所想。

2. 学生能独立操作绘图软件,进行图画创作,提高解决问题的能力。

3. 学生培养团队协作能力,通过小组讨论与分享,提高沟通表达能力。

情感态度价值观目标:1. 学生培养对美术创作的兴趣,激发创新精神与艺术表现力。

2. 学生在创作过程中,学会欣赏他人作品,培养审美能力和尊重他人劳动成果的态度。

3. 学生通过绘图板课程,增强自信心,培养坚持不懈、勇于尝试的精神。

课程性质:本课程以实践操作为主,注重培养学生的动手能力和创新能力。

学生特点:学生处于小学高年级阶段,对新鲜事物充满好奇,动手能力强,喜欢表现自我。

教学要求:教师应以学生为主体,关注个体差异,引导学生在实践中学习,注重培养学生的观察力、想象力和创造力。

同时,关注学生在课程中的情感态度,营造轻松愉快的学习氛围,使学生在愉快的创作过程中实现课程目标。

通过课程目标的分解,教师可针对具体学习成果进行教学设计和评估,确保课程的有效实施。

二、教学内容本课程依据课程目标,结合教材内容,进行以下教学安排:1. 绘图板基础知识:介绍绘图板的结构、功能及其在绘画创作中的应用。

- 教材章节:第一章 绘画工具的认识- 内容:绘图板的组成部分、基本操作方法、绘图软件的界面与工具介绍。

2. 基本图形绘制:学习使用绘图板绘制几何图形、线条等基本元素。

- 教材章节:第二章 基本图形的绘制- 内容:正方形、长方形、圆形、三角形等几何图形的绘制,线条的运用。

3. 色彩搭配与应用:学习基本的色彩理论,运用绘图板进行色彩搭配。

- 教材章节:第三章 色彩的运用- 内容:色彩三要素、色彩搭配原则、绘制作品时的色彩应用。

c画图板课程设计

c画图板课程设计

c 画图板课程设计一、课程目标知识目标:1. 学生能够理解并掌握c画图板的基本功能与操作方法。

2. 学生能够运用c画图板绘制基本的几何图形和简易场景。

3. 学生能够理解并运用c画图板中的颜色填充、线条粗细等工具进行作品创作。

技能目标:1. 学生能够运用c画图板进行创意绘画,提高绘画技巧和表达能力。

2. 学生能够通过c画图板的操作,培养观察力、想象力和创新能力。

3. 学生能够学会使用c画图板进行作品的保存、打开和分享。

情感态度价值观目标:1. 学生在c画图板绘画过程中,培养对美术创作的兴趣和热情,增强自信心。

2. 学生在合作交流中,学会尊重他人意见,培养团队协作精神。

3. 学生通过绘画创作,关注生活、热爱生活,培养积极向上的人生态度。

分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立完成c画图板的安装与基本设置。

2. 学生能够运用c画图板绘制出至少三种不同的几何图形,并创作一幅简易场景作品。

3. 学生能够运用c画图板中的工具,创作出具有个性特色的绘画作品,并进行展示和分享。

4. 学生在课程学习过程中,积极参与讨论,主动帮助同学解决问题,表现出良好的团队协作精神。

二、教学内容本课程教学内容依据课程目标,结合教材内容进行选择和组织,主要包括以下三个方面:1. c画图板基本功能与操作- 认识c画图板界面和工具栏- 学会使用画笔、橡皮、颜色填充等基本工具- 掌握线条粗细、颜色选择等设置方法2. 几何图形与简易场景绘制- 绘制三角形、矩形、圆形等基本几何图形- 学习组合几何图形,创作简易场景- 掌握图形的移动、旋转和缩放等操作3. 创意绘画与作品展示- 运用c画图板进行个性化创作- 学习作品的保存、打开和分享方法- 组织学生进行作品展示,开展评价与交流教学大纲安排如下:第一课时:c画图板的认识与基本操作第二课时:几何图形的绘制与组合第三课时:简易场景创作与作品展示第四课时:创意绘画与实践操作第五课时:作品分享与评价交流教学内容进度:第一周:学习c画图板的基本功能与操作第二周:绘制几何图形,创作简易场景第三周:创意绘画与作品展示,进行评价与交流教学内容与教材紧密关联,遵循科学性和系统性原则,旨在帮助学生掌握c画图板的使用,提高绘画技巧,培养创新意识。

《Photoshop平面设计》课程设计任务书

《Photoshop平面设计》课程设计任务书

《Photoshop课程设计》任务书一、课程设计目的《Photoshop课程设计》是为本课程而独立开设的实践性课程。

课程设计主要目的是:1、加深、巩固学生所学课程《Photoshop平面设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题和解决问题的能力。

2、培养学生调查研究、查阅技术文献、资料、手册以及编写文档的能力。

使学生得到收集资料、整理相关素材、处理图片等的实践训练,更好地掌握基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

3、利用所学知识,调研查阅相关信息,发挥创造力,掌握运用Photoshop 与其它相关设计工具的综合应用的技能及独立设计能力。

4、为后继的《包装设计》、《版式设计》、《招贴设计》等课程设计打下基础。

二、课程设计题目本课程设计的题目和内容是从实际生活中提出的多种题材的题目,请从下面提供的题材中两个并确定分别拟定设计题目。

(1)产品销售广告设计(含POP广告)(2)灯箱广告设计(3)公益广告设计(4)海报设计(5)图书、杂志封面设计(6)贺卡设计(7)包装设计三、设计的基本原则1)明确作品的诉求对象,形式感应与传达内容一致;2)信息突出,正确无误地表达作品内涵;3)注重图文并茂的视觉效果。

作品的字体图形设计,色彩组合、情节编排等完全符合人的感觉规律,提高作品的视觉强度;4)注重人文精神,营造出浓郁的情感氛围;5)准确分析公众的美学价值观和审美趋势,根据公众的审美需要和大众文化创作作品;6)形成自己独特、鲜明的风格,以特色化的视觉形象提高作品的影响力。

四、设计要求1、按时上机实训,充分利用上机时间巩固所学知识;2、发挥主观能动性,独立思考、亲自动手;3、以Photoshop图像处理软件为主要工具,作品保留图层、通道等原始信息;4、每类题材的作品设计一套(3幅),从两套作品(6幅)中挑选你最满意的一幅撰写设计报告;5、按基本原则创作作品,作品质量高;6、设计报告要做到文字通畅、内容充实,格式规范,观点正确;7、按规定时间提交作品和课程设计报告。

Photoshop课程设计划书

Photoshop课程设计划书

Photoshop平面设计课程设计任务书适用班级:计算机X时间:X第X学期制定老师:XX一、设计目的Photoshop课程设计是在学完该课程之后的实践教学环节。

该设计是教学计划中的一个重要教学环节,是学生学习当中不可缺少的实际锻炼,也是对课程学习成果的检验,通过课程设计进一步实现自己对待事物看法,提高分析问题和解决问题的能力,学生其间应以对设计高度负责的态度,努力上好每一堂课。

该实践教学是对图形图像处理设计的综合训练,通过专项课题设计,给予学生充足的想象空间,努力创造出富有个性的设计作品。

培养科学的软件工作方法。

学生通过Photoshop课程设计在下述各方面得到锻炼:1.能根据实际问题的具体情况,结合Photoshop课程中的基本知识,正确分析处理图像的过程。

2.提高学生综合设计能力。

二、课程设计的基本要求一般选择典型性较强、风格鲜明、难度较大、任务较重的题目,这是同学们创作高设计水平的难得机会,因此要求学生认真对待,按时完成设计。

课程设计风格可以根据具体情况自定,设计用计算机辅助,设计效果要求明快、简洁、富有设计内涵,突出自己的想法。

三、内容及要求1.设计题目:1)海报制作(可与实际效果图不一致,自己发挥制作新的海报)所谓海报,就是一种具有广告传播性能的宣传物。

它对事物的广告起着重要作用,应用也十分广泛,本题目是一个综合性实例,通过图片叠加效果的制作,钢笔工具、自定义形状、圆角矩形工具、文字工具、内阴影命令和图层样式命令制作影视剧海报。

(素材及最终效果见素材与作品文件夹)2)书本封面制作.封面对于图书的成功出版起着非常重要的作用,具有强烈吸引力的封面也可以打动读者,本题目具有代表性,通过混合模式命令、文字工具、画笔工具、图层样式命令、添加蒙版命令和喷色描边命令制作现代散文集书籍设计。

(素材及最终效果见素材与作品文件夹)3)广告制作.广告是为了某种特定的需要,通过一定的媒体形式公开而广泛地向公众传递信息的旋转手段,它的本质是传播。

window绘图板课程设计

window绘图板课程设计

window绘图板课程设计一、课程目标知识目标:1. 学生能理解计算机绘图板的基本概念,掌握绘图板的使用方法。

2. 学生能掌握Windows绘图板的基本工具和功能,如画笔、橡皮、颜色填充等。

3. 学生能了解绘图板在计算机绘图中的应用,并将其与实际生活相结合。

技能目标:1. 学生能熟练操作Windows绘图板,运用各种工具进行绘图创作。

2. 学生能通过绘图板课程,培养自己的观察能力、创造力和审美能力。

3. 学生能在小组合作中,与他人共同完成一幅绘图作品,提高团队协作能力。

情感态度价值观目标:1. 学生通过绘图板课程,培养对计算机绘图的兴趣和热情,激发创作潜能。

2. 学生在绘图过程中,学会尊重他人的创作成果,培养良好的审美观。

3. 学生能够将所学知识运用到实际生活中,体会计算机绘图带来的便利和乐趣。

课程性质:本课程为信息技术课程,旨在通过Windows绘图板的教学,使学生掌握计算机绘图的基本技能,培养创新意识和审美能力。

学生特点:学生处于小学高年级阶段,对新鲜事物充满好奇,具备一定的计算机操作能力,喜欢动手实践,但需要教师在教学过程中进行引导和启发。

教学要求:教师需注重理论与实践相结合,关注学生的个体差异,激发学生的创新思维,培养其团队协作能力,使学生在愉快的氛围中学习计算机绘图。

在教学过程中,将课程目标分解为具体的学习成果,便于后续的教学设计和评估。

二、教学内容1. 绘图板基础知识:- 绘图板的概念与作用- 绘图板的种类及特点- Windows绘图板的基本操作方法2. Windows绘图板工具与功能:- 画笔、铅笔、橡皮、颜色填充工具的使用- 矩形、椭圆、线条工具的应用- 选取、移动、旋转、缩放功能的操作3. 绘图创作实践:- 简单图形的绘制与编辑- 复杂图形的组合与创意设计- 小组合作完成主题绘图作品4. 计算机绘图应用与拓展:- 绘图板在日常生活和学习中的应用- 探索计算机绘图与其他学科的融合- 了解计算机绘图的发展趋势与前景教学内容安排与进度:第一课时:绘图板基础知识及基本操作方法第二课时:Windows绘图板工具与功能的学习第三课时:简单图形的绘制与编辑实践第四课时:复杂图形的组合与创意设计实践第五课时:小组合作完成主题绘图作品及展示第六课时:计算机绘图应用与拓展学习教材章节关联:本教学内容与教材中“计算机绘图”章节相关,涵盖绘图板的基础知识、操作方法、绘图实践和应用拓展等方面,确保内容的科学性和系统性。

大学课程设计报告绘图板系统设计-课程设计报告

大学课程设计报告绘图板系统设计-课程设计报告

2016-2017学年第一学期《Windows程序设计》课程设计报告题目:绘图板系统设计专业:班级:姓名:指导教师:成绩:二0一六年十一月十五日目录1设计目的 (3)2设计内容分析 (3)2.1绘图板简要介绍 (3)2.2功能的设计 (3)3主要模块 (4)3.1流程图 (4)3.2菜单栏 (4)3.3状态栏 (7)4详细设计界面 (8)5设计小结 (14)6参考文献 (15)1设计目的通过我们大一学期学习的《Windows程序设计教程》一书,掌握.net基本机构以及C#语言的基本知识,充分运用GDI+编程,完成简单绘制图形程序的这样的设计,以达到一个简单绘图板的系统设计。

这是一次难得的锻炼自己的机会,既是对以往知识的温习,也是对现学知识的灵活运用,也是为毕业设计做知识储备。

2设计内容分析2.1绘图板简要介绍这个绘图板系统设计,是基于Windows程序设计知识进行的,整个过程中,需要的是较好的知识储备以及对知识的灵活运用,加上良好的操作能力。

利用C#的编程思想以及组件的开发原理来完成系统的设计。

该设计系统是VS下Windows窗体设计工作项目文件,即一个简易的绘图工具,主要是设计了菜单栏、状态栏等一些简单的基本元素,能够实现简单的集合画图,在鼠标下控制顺利工作。

这次课程设计是利用C#的编程思想以及组件开发原理来完成系统的设计,突出C#语言与其它语言不同点(即体现C#的高级功能,如属性概念、接口、事件、委托等),体现可视化编程的基本目标,如系统带有菜单、状态栏以及一些常用的高级控件。

2.2功能的设计(1)能够由鼠标控制绘制直线、矩形和椭圆:当我们已经开始新建文件或者打开任意可操作文件过后,可以通过鼠标操作完成对直线、矩形以及椭圆形状的选择,从而实现简易绘图功能;本段详细阐述所选设计题目任务的具体内容及具体要求,分析设计软件的预期功能和涉及的C#知识点。

(2)简易绘图板这个小程序要求能完成简单的图形绘制,如直线、圆、矩形等;能实现基本的线型线宽的改变;能实现绘图界面的清空;能通过菜单栏实现文件的保存、打开以及在帮助菜单中找到使用说明和其它问题解决办法。

建筑制图课程设计任务书-2015

建筑制图课程设计任务书-2015

《建筑制图》课程设计任务书一、建筑制图课程培养目标掌握制图投影的基本知识和国家制图标准,具有良好的读图和独立绘图的能力,熟练掌握手工绘图和计算机绘图的方法和技巧,培养学生的自主学习能力、创造性思维能力、为后续课程的学习及能力再培养奠定基础。

二、课程设计任务与目的1.任务:在已学习了投影基本知识、国家制图标准、建筑施工图与结构施工图的基础上,通过个人独立思考,查阅、收集相关参考资料,设计、绘制民用住宅的建筑施工图。

2.目的:课程设计环节是学生一学年《建筑制图》课程学习的总结和检验。

不仅能全面反映学生的课程学习效果,同时较好地锻炼了学生的独立思考、查阅资料的能力。

三、课程设计组织形式与设计内容1.个人独立设计:在阅读相关参考资料、参考设计方案的基础上,经过个人独立思考,绘制建筑平、立、剖面施工图。

方案(A):直接进行建筑二维施工图设计。

方案(B):从建筑三维模型设计入手,由三维模型生成建筑二维施工图。

2.选取部分同学进行中期设计汇报:每班随机抽取3~4名同学进行中期汇报,介绍自己的设计方案;其他同学对设计方案和绘制的施工图进行评价与提问。

四、课程设计内容及要求1.设计内容:方案(A)---平面设计:个人独立设计内容:建筑平面图、正立面图、左侧立面图、剖面图;绘图比例为1:100;图纸幅面为A2一张。

方案(B)---三维设计:个人独立设计内容:建筑平面图、正立面图、背立面图、左侧立面图、剖面图(1~2个剖面图);绘图比例为1:100;图纸幅面为A1一张。

2.图面布局:方案A图面布局方案B图面布局3.设计总体要求:图层线型、线宽设置合理;投影关系正确,构造基本合理;尺寸标注、标高标注、文字注写、各种符号和图例符合建筑施工图的国家制图标准;布局合理、比例打印正确;剖面图的剖切位置要求通过楼梯间。

五、几点构造说明1.建筑平面参考尺寸(不做别墅):方案A:总长15~20米,总宽10~13米。

方案B:不做要求。

绘图系统,画图板的设计,课设 毕业设计

绘图系统,画图板的设计,课设 毕业设计

目录1 引言 (3)2 绘图技术基础 (4)2.1 计算机图形学 (4)2.2 GDI原理 (5)2.2.1 GDI+绘图基础 (5)2.2.2 GDI+概述 (6)2.3 绘图系统功能分析 (6)3 编程基础 (7)3.1 Microsoft Visual Studio 2010 (7)3.2 C#图形图像编程基础.......................... 错误!未定义书签。

3.2.1 Graphics类................................ 错误!未定义书签。

3.2.2 常用画图对象.............................. 错误!未定义书签。

3.2.3 基本图形绘制举例.......................... 错误!未定义书签。

3.3 C#图像处理基础.............................. 错误!未定义书签。

3.3.1 C#图像处理概述............................ 错误!未定义书签。

3.3.2 图像的输入和保存.......................... 错误!未定义书签。

4 总体规划...................................... 错误!未定义书签。

4.1绘图系统的设计分析........................... 错误!未定义书签。

4.2 图形绘图.................................... 错误!未定义书签。

4.3 图形变换.................................... 错误!未定义书签。

4.3.1 点的变换.................................. 错误!未定义书签。

4.3.2 二维图形变换矩阵.......................... 错误!未定义书签。

简易绘图板的课程设计

简易绘图板的课程设计

简易绘图板的课程设计一、课程目标知识目标:1. 学生能够理解简易绘图板的原理,掌握基本的绘图工具和功能。

2. 学生能够运用所学的绘图技能,创作出具有个性和创意的图画。

3. 学生能够了解并描述绘图板在信息技术和艺术设计领域的应用。

技能目标:1. 学生能够熟练操作简易绘图板,运用绘图软件进行基本的绘图操作。

2. 学生能够运用绘图板的各项功能,如画笔、橡皮、颜色选择等,进行创意绘图。

3. 学生能够通过实践,掌握基本的绘画技巧,提高观察力和动手能力。

情感态度价值观目标:1. 学生培养对信息技术的兴趣和爱好,增强对艺术创作的自信心。

2. 学生在团队协作中,学会相互欣赏、尊重和借鉴,培养合作精神。

3. 学生通过创作,培养审美观念,提高对美的感知和表达能力。

课程性质:本课程为信息技术与艺术相结合的实践课程,旨在提高学生的动手操作能力、创新意识和审美情趣。

学生特点:六年级学生具备一定的信息技术基础,好奇心强,喜欢尝试新事物,有一定的绘画基础。

教学要求:教师需引导学生掌握简易绘图板的使用方法,注重培养学生的创新能力和审美观念,结合实际操作,提高学生的实践能力。

通过课程目标的分解,使学生在课程结束后能够独立完成创意绘图作品,并在此过程中培养良好的情感态度和价值观。

二、教学内容1. 简易绘图板的介绍与认识:- 绘图板的原理与结构- 绘图板在信息技术和艺术领域的应用2. 绘图软件的基本操作:- 软件的启动与界面认识- 基本工具的使用:画笔、橡皮、颜色选择、图层等3. 绘画技巧与创作实践:- 线条练习与图形绘制- 色彩搭配与涂抹技巧- 简单人物、景物的绘画方法4. 创意绘图作品制作:- 主题设定与构思- 绘图步骤与方法- 作品展示与评价教学内容安排与进度:第一课时:简易绘图板的介绍与认识,绘图软件的启动与界面认识第二课时:基本工具的使用,线条练习与图形绘制第三课时:色彩搭配与涂抹技巧,简单人物、景物的绘画方法第四课时:创意绘图作品制作,作品展示与评价教材关联章节:- 信息技术课本第三章:《计算机绘画》- 艺术课本第二章:《色彩与图形》教学内容注重科学性和系统性,结合课程目标,使学生能够在实践中掌握绘图板的使用和绘画技巧,培养创新能力和审美观念。

c课程设计画图板

c课程设计画图板

c 课程设计画图板一、课程目标知识目标:1. 学生能理解画图板的基本功能,掌握画图板的使用方法。

2. 学生能运用画图板的相关工具进行基本的图形绘制和编辑。

3. 学生能够结合数学知识,运用画图板解决几何问题,如绘制图形、计算周长和面积等。

技能目标:1. 学生能够熟练操作画图板,运用各种工具进行绘画和编辑。

2. 学生能够运用画图板进行创新设计,培养空间想象力和创造力。

3. 学生能够通过画图板与同学进行协作交流,提高团队协作能力。

情感态度价值观目标:1. 学生在画图板的学习过程中,培养对信息技术的兴趣和热情,提高学习积极性。

2. 学生能够认识到画图板在日常生活和学习中的实用性,增强实际应用意识。

3. 学生在合作学习中,学会尊重他人,培养良好的团队精神和沟通能力。

课程性质:本课程为信息技术与数学学科融合课程,以实践操作为主,注重培养学生的动手能力和创新能力。

学生特点:六年级学生具备一定的信息技术基础和数学知识,好奇心强,喜欢动手操作,善于合作交流。

教学要求:结合学生特点,课程设计要注重实践性、趣味性和互动性,充分调动学生的积极性,培养其运用画图板解决实际问题的能力。

在教学过程中,关注学生的个体差异,鼓励学生主动探索、创新实践,确保课程目标的达成。

后续教学设计和评估将围绕课程目标进行,以实现具体学习成果的分解和落实。

二、教学内容1. 画图板基本功能介绍:认识画图板界面,了解工具箱、调色板、绘图区域等功能区。

相关教材章节:课本第三章第二节《认识画图板》2. 基本绘图操作:学习使用画图板工具进行直线、曲线、矩形、椭圆等基本图形绘制。

相关教材章节:课本第三章第三节《基本绘图操作》3. 图形编辑与修改:掌握选定、移动、复制、删除、旋转、翻转等图形编辑方法。

相关教材章节:课本第三章第四节《图形编辑与修改》4. 颜色填充与线条设置:学习调整线条颜色、粗细、样式以及填充图形颜色。

相关教材章节:课本第三章第五节《颜色填充与线条设置》5. 画图板在数学中的应用:运用画图板绘制几何图形,解决实际问题,如计算周长、面积等。

《工程制图》课程设计任务书

《工程制图》课程设计任务书

《工程制图》课程设计任务书一、课程设计目的和要求目的:通过课程设计,熟悉各种制图标准及规范,能够熟练准确地分别以手工绘图和AUTOCAD绘图两种绘图方式绘制出符合制图标准的工程图样。

要求:选取合适的比例,采用符合制图标准的图线、图例、尺寸标注样式、文字样式熟练地绘制指定的工程图。

二、课程设计内容本次课程设计的主要任务是抄绘指导老师指定的工程图纸,具体内容如下:(一)提供某办公楼建筑施工图和结构施工图要求完成以下内容:1、手工绘制4张A1施工图:选绘2张建筑施工图、2张结构施工图;2、AUTOCAD绘制4张A1施工图:选绘2张建筑施工图、选绘2张结构施工图;其中手工图和AUTOCAD绘图内容不能重复,所选图纸内容必须包含建筑平面图、立面图、剖面图、楼梯详图、基础结构平面图、剪力墙柱平法施工图、梁平法施工图、板平法施工图八个施工图样。

三、课程设计时间安排课程设计时间为16、17周,其中一周为手工制图,一周为AUTOCAD制图。

AUTOCAD 制图机房安排具体按实践教学安排表执行。

四、课程设计参考资料1. 卢传贤.土木工程制图[M],北京:中国建筑工业出版社,2012.82. GB/T 50105-2010.建筑结构制图标准[S].北京:中国计划出版社,2010.113. GB/T 50104-2010.建筑制图标准[S].北京:中国计划出版社,2011.24. GB/T 50001-2010,房屋建筑制图统一标准[S].北京:中国计划出版社,2011.25.11G101-1 混凝土结构施工图平面整体表示方法制图规则和构造详图[S].北京:中国建筑标准设计研究院,2011.08五、交图时间第17周星期五。

五、成绩评定课程设计成绩由设计平时成绩和设计完成情况综合评定,分优、良、中、及格、不及格五个等级。

2013年5月。

绘图板课程设计

绘图板课程设计

绘图板课程设计一、教学目标本课程旨在通过绘图板的使用教学,让学生掌握绘图板的基本功能,包括线条、图形、颜色填充等,能利用绘图板进行简单的创作和设计。

在技能方面,使学生能熟练操作绘图板,培养学生的观察力、想象力和创造力。

在情感态度价值观方面,培养学生对绘画艺术的热爱,提高学生审美能力,培养学生合作、探究的学习态度。

二、教学内容根据课程目标,我们将教学内容分为以下几个部分:1. 绘图板的基本功能和使用方法;2. 线条、图形、颜色填充等基本绘图技巧;3. 简单的创作和设计练习;4. 作品欣赏和分析。

三、教学方法为了激发学生的学习兴趣和主动性,我们将采用多种教学方法,如讲授法、示范法、练习法、小组讨论法等。

在教学过程中,教师将结合理论讲解和实际操作,让学生在实践中学习和掌握知识。

同时,学生进行小组讨论和作品展示,培养学生的合作和交流能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1. 绘图板和相关软件;2. 教材和参考书;3. 网络资源,如绘图板教学视频、优秀作品欣赏等;4. 实验设备,如绘图板、彩色笔等。

以上是本课程的教学设计,我们将根据实际情况进行调整和优化,以达到最佳的教学效果。

五、教学评估本课程的评估方式包括平时表现、作业、考试等。

平时表现主要评估学生的课堂参与度、合作态度等;作业主要评估学生的绘图技巧和创作能力;考试则是对学生综合运用所学知识进行创作的评估。

评估方式将力求客观、公正,全面反映学生的学习成果。

六、教学安排本课程的教学安排将紧凑合理,确保在有限的时间内完成教学任务。

教学进度将根据课程目标和教学内容进行规划,同时考虑学生的实际情况和需要,如作息时间、兴趣爱好等。

教学地点将选择适合绘图板教学的环境,以保证教学效果。

七、差异化教学根据学生的不同学习风格、兴趣和能力水平,我们将设计差异化的教学活动和评估方式。

例如,对于绘画能力较强的学生,可以提供更深入的创作指导;对于绘画基础较差的学生,则可以通过额外的辅导和练习来提高他们的绘画技能。

Java画图板课程设计报告

Java画图板课程设计报告

华北科技学院课程设计说明书班级: 计算B092学号: 200909014217 : 宁设计题目: 画图板软件开发和设计设计时间: 2012.12.26 至 2012.12.30 指导教师: 阳评语: ____________________________________________________________________________________________________________________________________________________________________评阅成绩:____评阅教师:_____目录1 引言 (1)1.1课程设计选题 (1)1.2课程设计的目的 (1)1.3本选题的设计背景 (1)2 需求分析 (1)2.1 功能需求 (1)2.2 软件开发运行环境 (1)3 总体设计 (2)3.1 软件结构设计 (2)3.1.1 结构设计 (2)3.2软件功能模块及主要类设计 (2)3.2.1功能描述 (2)3.2.2总体结构图 (3)3.2.3主要类设计 (3)4 详细设计与实现 (4)4.1 主界面 (4)4.1.1主界面功能设计 (4)4.1.2主界面设计 (4)4.1.3主界面主要代码 (5)4.2 菜单栏 (6)4.2.1菜单栏功能设计 (6)4.2.2菜单栏界面设计 (6)4.2.3菜单栏主要代码 (10)4.3 工具栏 (10)4.3.1工具栏功能设计 (10)4.3.2工具栏界面设计 (11)4.3.3工具栏主要代码 (11)4.4 画图区 (12)4.4.1画图区功能设计 (12)4.4.2画图区界面设计 (13)4.4.3画图区主要代码 (13)4.5 状态栏 (13)4.5.1状态栏功能设计 (13)4.5.2状态栏设计 (13)4.5.3状态栏代码 (13)5 小结和展望 (14)参考文献 (15)附录 (16)使用说明书 (16)源程序清单 (16)1引言1.1课程设计选题《画图板软件开发和设计》1.2课程设计的目的巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。

c画图板课课程设计

c画图板课课程设计

c 画图板课课程设计一、教学目标本课程的目标是让学生掌握C画图板的基本操作和应用技巧。

知识目标包括了解C画图板的发展历程、功能特点和基本操作方法;技能目标包括能够熟练使用C 画图板进行绘图、编辑和排版;情感态度价值观目标包括培养学生的创新意识、团队协作能力和自主学习能力。

二、教学内容教学内容主要包括C画图板的基本操作、绘图技巧、编辑方法和排版技巧。

具体内容包括:1. C画图板的发展历程和功能特点;2. C画图板的基本操作,如新建、打开、保存文件,选择、移动、缩放、旋转图形等;3. 绘图技巧,如直线、曲线、矩形、椭圆等的绘制方法;4. 编辑方法,如选择、复制、剪切、粘贴、删除图形等;5. 排版技巧,如文本输入、字体设置、段落设置、页面设置等。

三、教学方法本课程采用讲授法、实践法和互动法相结合的教学方法。

1. 讲授法:通过讲解C画图板的基本操作和应用技巧,使学生掌握相关知识;2. 实践法:让学生通过实际操作C画图板进行绘图、编辑和排版,提高学生的实践能力;3. 互动法:通过小组讨论、问答等形式,激发学生的思考和参与,培养学生的团队协作能力。

四、教学资源教学资源包括教材、多媒体资料和实验设备。

1. 教材:选用权威、实用的C画图板教材,为学生提供系统的理论知识;2. 多媒体资料:制作精美的PPT、视频等资料,直观展示C画图板的操作过程;3. 实验设备:提供充足的C画图板软件和计算机设备,保证学生能够充分实践。

五、教学评估教学评估将采取多元化方式进行,全面评估学生的知识掌握和技能应用情况。

评估方式包括:1. 平时表现:通过课堂参与、小组讨论、提问等环节,评估学生的学习态度和参与程度;2. 作业:布置与教学内容相关的绘图、编辑和排版作业,评估学生的实践能力;3. 考试:设置期中考试和期末考试,以闭卷形式评估学生的知识掌握和应用能力。

评估标准将根据教学目标和内容进行设定,保证评估的客观性和公正性。

六、教学安排本课程的教学安排将根据学生的作息时间和兴趣爱好进行调整,确保教学进度合理、紧凑。

课程设计任务介绍书

课程设计任务介绍书

课程设计任务书
交通学院测绘工程系
一.课程设计任务
1.能进行简单的绘图环境设置(坐标系,颜色,线型)
2.完成独立符号绘制(2~3个)
3.线状符号绘制(陡坎或城墙)
4.能针对不同的数据格式进行数据转换(GIS――CASS或其他格
式)
5.面状符号绘制(选作)
6.实现线段的矢量裁剪(选作)
7.等高线绘制与高程标记(选作)
二.课程设计内容
本画图软件主要由标题栏,菜单栏,工具栏构成。

功能介绍如下:
1.菜单栏:文件:保存,打开及图纸的新建,文件的关闭。

编辑:剪切,复制,粘贴
工具:数据的转换
帮助:内容为本课程任务书,已上传到百度文库,单击帮
助按钮可打开
2.工具栏:主要包括直线、矩形、圆、点画线、刷子、橡皮、清除,弧
线,填充等绘图工具。

还包括绘制城墙,陡坎,GPS点,水准点;
3.绘图界面如下
4.
5.
三.存在问题:
1.画圆的时候是隐藏掉了一些圆,所以画圆时会擦除掉他所经过的地方的其图案;画城墙的时候不知什么原因造成无法画的不是很清楚
2.不会进行数据的转换
3.打开的图形不能完全在界面上显示出来,只能显示一部分
四.参考资料:
21天学懂Visual basic
手把手教你学vb
学号:21311129。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

长沙学院课程设计说明书题目设计模式课程设计系(部) 数学与计算机科学系专业(班级) 数媒2班姓名胡辉衡学号B20140304401指导教师朱建凯起止日期2016年12月19日课程设计任务书课程名称:设计模式课程设计设计题目:基于设计模式的绘图程序已知技术参数和设计要求:1.问题描述(功能要求):1.需求分析该系统是一个画图程序,我们要用设计模式的思想来设计系统结构,然后实现基本图形的绘制功能。

1.1 设计模式要求至少在其中运用 3 种模式,其中涉及到的模式有装饰模式、策略模式、桥梁模式三种。

1.2 画图基本要求能实现基本图形的绘制功能1.3 画图高级要求实现图形的操作(如选取、移动、放大、缩小、改变颜色、改变线形等)和持久化(利用文件或利用数据库)。

1.4 参考界面图1 参考效果图1图2 参考效果图22. 运行环境要求:Windows操作系统;Eclipse3. 技术要求:给出至少3种设计模式,要求具体说明使用每种设计模式的动机,画出类图,并代码实现,然后评价该设计模式的优缺点。

设计工作量:2周工作计划:(1) 2014级软件工程4课时:讲授32课时:上机、调试。

计算机系机房4课时:答辩。

计算机系机房。

指导教师签名:日期:教研室主任签名:日期:系主任签名:日期:长沙学院课程设计鉴定表目录第1章系统需求 (8)1.1系统总需求 (8)1.2功能需求 (8)第3章系统设计 (9)3.1系统总功能模块设计 (9)3.2子功能模块设计 (9)3.2.1构建基本图形 (9)3.2.2装饰模式组合图形 (10)3.2.3 桥接模式修饰图形颜色线条粗细 (10)第4章系统实现 (11)4.1简单工厂模式绘制基本图形 (11)4.1.1装饰模式图形组合 (13)4.1.2桥接模式改变粗细绘制图形 (14)第5章系统测试 (15)5.1测试目的 (15)5.2测试手段 (15)5.3测试用例 (15)5.3.1登陆界面测试 (15)结论 (16)参考文献 (17)结束语 (18)附录 (19)第1章系统需求1.1系统总需求该系统是一个画图程序,我们要用设计模式的思想来设计系统结构,然后实现基本图形的绘制功能1.2功能需求1.至少在其中运用3 种模式,其中涉及到的模式有装饰模式、策略模式、桥梁模式三种。

2.选择图形模块:点击图形后,可以用画笔绘画出对应的图形。

选择装饰模式模块:点击模式,根据两次按钮的不同选择可以在原有的图形上进行组合。

选择桥接模式模块:点击模式后,根据所选择色体,笔的型号,进行新的图形绘制。

第3章系统设计3.1系统总功能模块设计图3.1程序总架构3.2子功能模块设计3.2.1构建基本图形功能:通过点击对应按钮,生成对应可控制大小的基本图形。

图.3.2简单工厂模式设计3.2.2装饰模式组合图形(1)功能:对基本图形进行组合。

(2)程序流程图:基本信息管理的程序流程图如下图所示:图3.3 装饰组合模式设计3.2.3 桥接模式修饰图形颜色线条粗细功能:选择颜色与画笔粗细,重新绘制图片。

图3.4 桥接模式设计第4章系统实现4.1登陆界面本系统启动后直接显示登陆界面。

如图4.1所示:图4.1登陆界面4.2简单工厂模式绘制基本图形点击工厂模式中的按钮可以控制鼠标绘制所选图形。

如图4.1所示:图4.2绘制基本图形(三角形)图4.3绘制基本图形(圆形)图4.4绘制基本图形(矩形)图4.5选择色彩绘绘制图形4.2.1装饰模式图形组合此模块让图形进行组合共有9种形式。

如图4.6所示:图4.6各种图形组合4.2.2桥接模式改变粗细绘制图形图4.7桥接模式绘制图形第5章系统测试5.1测试目的通过测试发现软件错误;功能的完备性:检验程序功能是否达到用户预先制定的需求;错误检查:检查程序潜在的错误,为软件可靠性与安全性的评估提供依据。

5.2测试手段人工测试技术。

5.3测试用例5.3.1登陆界面测试如表5.1所示:结论绘图程序实现了图形的基本绘制功能,并在绘制的其中运用到了本学期所学的设计模式的知识,使得整个系统变得更具结构性,便于后期的功能扩展或其他。

参考文献[1] 谭浩强编著,java程序设计[M],清华大学出版社,1991.7[2] 姜仲秋编著,java程序设计[M],南京大学出版社,1998.1[3] 刘瑞挺主编,计算机二级教程[M],南开大学出版社,1996.10[4] 陈朔鹰编著,java程序设计基础教程[M],兵器工业出版社,1994.9[5] 李虹主编,java程序设计,[M],南京大学出版社,2010.2[1] 马石安、魏文平.面向对象程序设计教程[M].北京:清华大学出版社.2007.8结束语为期两周的实训结束了,在老师和同学的帮助下,我基本完成绘图程序系统的设计。

我们按照系统工程软件设计的要求,从需求分析,概念设计,总体设计,详细设计,系统测试等各个步骤,分步完成系统的各项任务,实现了系统中的学生信息查询,学生信息更新,学生信息添加等模块的功能。

在这实训期间里我们的收获很多:巩固和加深了对JA V A的理解,提高了综合运用本课程所学知识的能力。

使用窗体控件开发桌面程序。

在Swing中使用控件可减少代码书写量加快开发速度。

培养了我们查阅文献资料的能力。

培养独立思考,深入研究,分析问题、解决问题的能力。

通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。

通过这次实训,我们也认识到在以后的学习当中注意:认真上好专业实验课,多在实践中锻炼自己。

写程序的过程中要考虑周到,严密。

在做设计的时候要有信心,有耐心,切勿浮躁。

认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。

在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。

附录界面:package 界面;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.MouseInfo;import java.awt.Point;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.io.File;import javax.swing.BorderFactory;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JColorChooser;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.filechooser.FileNameExtensionFilter;import 简单工厂模式.*;import 装饰模式.*;import 桥接模式.*;public class MainFrame extends JFrame{private JPanel downPanel = new JPanel();private Color c=Color.black;int x = 0;int y = 0;int x1 = 0;int y1 = 0;String name;String name2;int flag=0;Conpotent con;pen pen;File[] selectedFiles = null;int fileIndex = 0;int width = 200;int height = 200;public MainFrame(){initUI();showFrame();}// 初始化界面显示组件private void initUI() {final JTextField jtfGrap = new JTextField("图形");final JTextField jtfModi = new JTextField("装饰");final JTextField jtfStra = new JTextField("桥接");final JButton jbtColo = new JButton("颜色");final JButton jbtTria = new JButton("三角形");final JButton jbtRoun = new JButton("圆形");final JButton jbtRect = new JButton("矩形");final JButton jbtClea = new JButton("清空");final JButton jbtMod1 = new JButton("三角形");final JButton jbtMod2 = new JButton("圆形");final JButton jbtMod3 = new JButton("矩形");final JButton jbtMod4 = new JButton("可移动");final JButton jbtStr1 = new JButton("大笔红");final JButton jbtStr2 = new JButton("大笔绿");final JButton jbtStr3 = new JButton("小笔红");final JButton jbtStr4 = new JButton("小笔绿");final JPanel jpPanel1 = new JPanel();final JPanel jpPanel2 = new JPanel();final JPanel jpPanel3 = new JPanel();jbtColo.setBounds(115, 10, 90, 20);jbtColo.setForeground(new Color(153, 217, 234));jbtColo.setContentAreaFilled(false);jbtColo.setFont(new Font("黑体", Font.BOLD, 14));jtfGrap.setBounds(15, 5, 40, 30);jtfGrap.setFont(new Font("黑体", Font.BOLD, 14)); jtfGrap.setBorder(null);jtfGrap.setEditable(false);jtfGrap.setOpaque(false);jbtTria.setBounds(15, 35, 90, 40);jbtTria.setForeground(new Color(153, 217, 234)); jbtTria.setContentAreaFilled(false);jbtTria.setFont(new Font("黑体", Font.BOLD, 14));jbtRoun.setBounds(115, 35, 90, 40);jbtRoun.setForeground(new Color(153, 217, 234)); jbtRoun.setContentAreaFilled(false);jbtRoun.setFont(new Font("黑体", Font.BOLD, 14));jbtRect.setBounds(15, 85, 90, 40);jbtRect.setForeground(new Color(153, 217, 234)); jbtRect.setContentAreaFilled(false);jbtRect.setFont(new Font("黑体", Font.BOLD, 14));jtfModi.setBounds(15, 5, 40, 30);jtfModi.setFont(new Font("黑体", Font.BOLD, 14)); jtfModi.setBorder(null);jtfModi.setEditable(false);jtfModi.setOpaque(false);jbtMod1.setBounds(15, 35, 90, 40);jbtMod1.setForeground(new Color(153, 217, 234)); jbtMod1.setContentAreaFilled(false);jbtMod1.setFont(new Font("黑体", Font.BOLD, 14));jbtMod2.setBounds(115, 35, 90, 40);jbtMod2.setForeground(new Color(153, 217, 234)); jbtMod2.setContentAreaFilled(false);jbtMod2.setFont(new Font("黑体", Font.BOLD, 14));jbtMod3.setBounds(15, 85, 90, 40);jbtMod3.setForeground(new Color(153, 217, 234)); jbtMod3.setContentAreaFilled(false);jbtMod3.setFont(new Font("黑体", Font.BOLD, 14));jbtMod4.setBounds(115, 85, 90, 40);jbtMod4.setForeground(new Color(153, 217, 234)); jbtMod4.setContentAreaFilled(false);jbtMod4.setFont(new Font("黑体", Font.BOLD, 14));jtfStra.setBounds(15, 5, 40, 30);jtfStra.setFont(new Font("黑体", Font.BOLD, 14)); jtfStra.setBorder(null);jtfStra.setEditable(false);jtfStra.setOpaque(false);jbtStr1.setBounds(15, 35, 90, 40);jbtStr1.setForeground(new Color(153, 217, 234)); jbtStr1.setContentAreaFilled(false);jbtStr1.setFont(new Font("黑体", Font.BOLD, 14));jbtStr2.setBounds(115, 35, 90, 40);jbtStr2.setForeground(new Color(153, 217, 234)); jbtStr2.setContentAreaFilled(false);jbtStr2.setFont(new Font("黑体", Font.BOLD, 14));jbtStr3.setBounds(115, 85, 90, 40);jbtStr3.setForeground(new Color(153, 217, 234)); jbtStr3.setContentAreaFilled(false);jbtStr3.setFont(new Font("黑体", Font.BOLD, 14));jbtStr4.setBounds(15, 85, 90, 40);jbtStr4.setForeground(new Color(153, 217, 234)); jbtStr4.setContentAreaFilled(false);jbtStr4.setFont(new Font("黑体", Font.BOLD, 14));jbtClea.setBounds(620, 10, 70, 20);jbtClea.setForeground(new Color(153, 217, 234)); jbtClea.setContentAreaFilled(false);jbtClea.setFont(new Font("黑体", Font.BOLD, 14)); jbtClea.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {downPanel.removeAll();downPanel.add(jbtClea);downPanel.update(downPanel.getGraphics());}});downPanel.setBounds(260, 15, 700, 627);downPanel.setBackground(Color.WHITE);downPanel.setLayout(null);downPanel.add(jbtClea);jpPanel1.setBorder(BorderFactory.createLineBorder(getForeground()));jpPanel1.setBounds(20, 15, 222, 142);jpPanel1.setBackground(Color.WHITE);jpPanel1.setLayout(null);jpPanel1.add(jbtTria);jpPanel1.add(jbtRoun);jpPanel1.add(jbtRect);jpPanel1.add(jbtColo);jpPanel1.add(jtfGrap);jpPanel2.setBorder(BorderFactory.createLineBorder(getForeground()));jpPanel2.setBounds(20, 177, 222, 142);jpPanel2.setBackground(Color.WHITE);jpPanel2.setLayout(null);jpPanel2.add(jbtMod1);jpPanel2.add(jbtMod2);jpPanel2.add(jbtMod3);jpPanel2.add(jbtMod4);jpPanel2.add(jtfModi);jpPanel3.setBorder(BorderFactory.createLineBorder(getForeground()));jpPanel3.setBounds(20, 339, 222, 142);jpPanel3.setBackground(Color.WHITE);jpPanel3.setLayout(null);jpPanel3.add(jbtStr1);jpPanel3.add(jbtStr2);jpPanel3.add(jbtStr3);jpPanel3.add(jbtStr4);jpPanel3.add(jtfStra);this.add(downPanel);this.add(jpPanel1);this.add(jpPanel2);this.add(jpPanel3);//////jbtRoun.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {name = "圆形";}});jbtRect.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {name="矩形";}});jbtTria.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {name = "三角形";}});jbtColo.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {c = JColorChooser.showDialog(null, "Choose a Color", jbtColo.getForeground());}});jbtMod1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {name2 = "三角形";if(name!=null&&name.equals("矩形")){flag=1;}else if(name!=null&&name.equals("圆形")){flag=2;}else if(name!=null&&name.equals("三角形")){flag=3;}}});jbtMod2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {name2 = "圆形";if(name!=null&&name.equals("矩形")){flag=4;}else if(name!=null&&name.equals("三角形")){flag=5;}else if(name!=null&&name.equals("圆形")){flag=6;}}});jbtMod3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {name2 = "矩形";if(name!=null&&name.equals("矩形")){flag=7;}else if(name!=null&&name.equals("圆形")){flag=8;}else if(name!=null&&name.equals("三角形")){flag=9;}}});jbtMod4.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {flag=-1;JFileChooser chooser = new JFileChooser();chooser.setMultiSelectionEnabled(true);FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG & GIF Images", "jpg", "gif");// 设置文件类型chooser.setFileFilter(filter);// 打开选择器面板int returnVal = chooser.showOpenDialog(downPanel);if (returnVal == JFileChooser.APPROVE_OPTION) { selectedFiles = chooser.getSelectedFiles();repaint();}}});jbtStr1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {c=Color.red;flag=10;}});jbtStr2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {c=Color.green;flag=10;}});jbtStr3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {c=Color.red;flag=11;}});jbtStr4.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {c=Color.green;flag=11;}});downPanel.addMouseListener(new MouseListener(){ public void mousePressed(MouseEvent e) {x = e.getX();y = e.getY();}public void mouseReleased(MouseEvent e) {x1 = e.getX();y1 = e.getY();Graphics g = downPanel.getGraphics();// System.out.println("name="+name);switch (flag){case 0: Draw d =proFactory.produce(name);d.draw(g, x, y, x1, y1, c);break; case 1: con = new Rec();con.paint(g, x, y, x1, y1, c); break;case 2: con = new Oval();con.paint(g, x, y, x1, y1, c);break;case 3: con = new Tri();con.paint(g, x, y, x1, y1, c);break;case 4: con = new Rec();con.paint(g, x, y, x1, y1, c);break;case 5: con = new Tri();con.paint(g, x, y, x1, y1, c);break;case 6: con = new Oval();con.paint(g, x, y, x1, y1, c);break;case 7: con = new Rec();con.paint(g, x, y, x1, y1, c);break;case 8: con = new Oval();con.paint(g, x, y, x1, y1, c);break;case 9: con = new Tri();con.paint(g, x, y, x1, y1, c);break;}if(flag==1||flag==2||flag==3){Tri_Tri tr = new Tri_Tri(con);tr.paint(g, x, y, x1, y1, c);flag=0;}if(flag==4||flag==5||flag==6){Oval_Oval tr = new Oval_Oval(con);tr.paint(g, x, y, x1, y1, c);flag=0;}if(flag==7||flag==8||flag==9){Rec_Rec tr = new Rec_Rec(con);tr.paint(g, x, y, x1, y1, c);flag=0;}if(flag==10){size s = new redbig();float size;size = s.bepaint();pen p = new bigpen();p.draw(name, g, x, y, x1, y1, c,size);}if(flag==11){size s = new greensmall();float size;size = s.bepaint();pen p = new bigpen();p.draw(name, g, x, y, x1, y1, c,size);}/* */if (flag==-1){Point point = MouseInfo.getPointerInfo().getLocation();int thisX = x1;int thisY = y1;System.out.println("thisX=" + thisX + " " + "thisY=" + thisY);if ((y - thisY < 20 && y - thisY > 0)|| (y - thisY < 0 && y - thisY > -20)) {// Y 在20范围内移动认为是水平移动if (x < thisX) {// rightif (selectedFiles != null&& fileIndex < selectedFiles.length - 1) {fileIndex++;}} else {// leftif (selectedFiles != null && fileIndex > 0) {fileIndex--;}}} else {if (x < thisX) {// 右下width += 20;height += 20;} else {// 左上width -= 20;height -= 20;}}repaint();class ImagePanel extends JPanel {public void paint(Graphics g) {super.paint(g);if (selectedFiles != null) {ImageIcon icon = new ImageIcon(selectedFiles[fileIndex].getPath());g.drawImage(icon.getImage(), 0, 0, width, height, this);}}}}}public void mouseClicked(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}});/////}public void showFrame(){this.setTitle("DrawSomething");this.setLayout(null);this.setSize(1000, 700);this.setLocation(600, 300);this.setDefaultCloseOperation(3);this.setVisible(true);}public static void main(String[] args) {new MainFrame();}}package 界面;import java.awt.Graphics;public class Jpanel {public int n;public int x[] = null;public int y[] = null;public void paintComponent(Graphics g) {g.drawPolygon(x, y, n);}public void paintComponent1(Graphics g){g.drawOval(x[0], x[1], x[2], x[3]);}}简单工厂模式:package 简单工厂模式;import java.awt.Color;import java.awt.Graphics;import 装饰模式.Decorator;public interface Draw{public abstract void draw(Graphics g,int x,int y,int x1,int y1,Color c);public abstract void draw(Graphics g,int x,int y,int x1,int y1,Color c,float size);}package 简单工厂模式;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import 界面.*;import 装饰模式.Conpotent;public class DrawOval implements Draw{public void draw(Graphics g, int x1, int y1, int x2, int y2, Color c) {Jpanel jp = new Jpanel();jp.n = 3;jp.x = new int[]{x1<x2?x1:x2, y1<y2?y1:y2, (x2-x1)>0? (x2-x1):(x1-x2), (y2-y1)>0?(y2-y1):(y1-y2)};g.setColor(c);jp.paintComponent1(g);}public void draw(Graphics g, int x1, int y1, int x2, int y2, Color c,float size) {float lineWidth = size;((Graphics2D)g).setStroke(new BasicStroke(lineWidth));Jpanel jp = new Jpanel();jp.n = 3;jp.x = new int[]{x1<x2?x1:x2, y1<y2?y1:y2, (x2-x1)>0? (x2-x1):(x1-x2), (y2-y1)>0?(y2-y1):(y1-y2)};g.setColor(c);jp.paintComponent1(g);}}package 简单工厂模式;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import 界面.*;import 装饰模式.Conpotent;public class DrawRec implements Draw{public void draw(Graphics g, int x, int y, int x1, int y1, Color c) { Jpanel jp = new Jpanel();jp.n = 4;jp.x = new int[]{x, x1, x1, x};jp.y = new int[]{y, y, y1, y1};g.setColor(c);jp.paintComponent(g);}@Overridepublic void draw(Graphics g, int x, int y, int x1, int y1, Color c, float size) {float lineWidth = size;((Graphics2D)g).setStroke(new BasicStroke(lineWidth));Jpanel jp = new Jpanel();jp.n = 4;jp.x = new int[]{x, x1, x1, x};jp.y = new int[]{y, y, y1, y1};g.setColor(c);jp.paintComponent(g);}}package 简单工厂模式;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import 界面.*;import 装饰模式.Conpotent;public class DrawTri implements Draw{public void draw(Graphics g, int x, int y, int x1, int y1, Color c){ Jpanel jp = new Jpanel();jp.n = 3;jp.x = new int[]{x, x1, x};jp.y = new int[]{y, y1, y1};g.setColor(c);jp.paintComponent(g);}@Overridepublic void draw(Graphics g, int x, int y, int x1, int y1, Color c, float size) {float lineWidth = size;((Graphics2D)g).setStroke(new BasicStroke(lineWidth));Jpanel jp = new Jpanel();jp.n = 3;jp.x = new int[]{x, x1, x};jp.y = new int[]{y, y1, y1};g.setColor(c);jp.paintComponent(g);}}package 简单工厂模式;public class proFactory {public static Draw produce(String name) {if(name.equals("圆形"))return new DrawOval();else if(name.equals("矩形"))return new DrawRec();else if(name.equals("三角形"))return new DrawTri();else return null;}}装饰模式:package 装饰模式;import java.awt.Color;import java.awt.Graphics;public interface Conpotent {public void paint(Graphics g, int x, int y, int x1, int y1, Color c);}package 装饰模式;import java.awt.Color;import java.awt.Graphics;public class Decorator implements Conpotent{private Conpotent conpotent;public Decorator(Conpotent conpotent){this.conpotent = conpotent;}public void paint(Graphics g, int x, int y, int x1, int y1, Color c) {}}package 装饰模式;import java.awt.Color;import java.awt.Graphics;import 界面.Jpanel;import 简单工厂模式.DrawRec;public class Oval_Oval extends Decorator{public Oval_Oval(Conpotent conpotent) {super(conpotent);}public void paint(Graphics g, int x1, int y1, int x2, int y2, Color c) { Oval ova = new Oval();ova.draw(g,1+(x2-x1)/4, y1+(y2-y1)/4, x2-(x2-x1)/4, y2-(y2-y1)/4,c);}}package 装饰模式;import java.awt.Color;import java.awt.Graphics;import 简单工厂模式.DrawOval;import 简单工厂模式.DrawRec;public class Oval extends DrawOval implements Conpotent{public void paint(Graphics g, int x, int y, int x1, int y1, Color c) { DrawOval ova = new DrawOval();ova.draw(g, x, y, x1, y1, c);}}package 装饰模式;import java.awt.Color;import java.awt.Graphics;import 界面.Jpanel;import 简单工厂模式.DrawRec;public class Rec_Rec extends Decorator{public Rec_Rec(Conpotent conpotent) {super(conpotent);}public void paint(Graphics g, int x1, int y1, int x2, int y2, Color c) { DrawRec rec = new DrawRec();rec.draw(g,1+(x2-x1)/4, y1+(y2-y1)/4, x2-(x2-x1)/4, y2-(y2-y1)/4,c);}}package 装饰模式;import java.awt.Color;import java.awt.Graphics;import 简单工厂模式.DrawRec;public class Rec extends DrawRec implements Conpotent{public void paint(Graphics g, int x, int y, int x1, int y1, Color c) { DrawRec rec = new DrawRec();rec.draw(g, x, y, x1, y1, c);}}package 装饰模式;import java.awt.Color;import java.awt.Graphics;import 界面.Jpanel;public class Tri_Tri extends Decorator{public Tri_Tri(Conpotent conpotent) {super(conpotent);}public void paint(Graphics g, int x1, int y1, int x2, int y2, Color c) { Tri tr = new Tri();tr.draw(g,x1+(x2-x1)/4, y1+(y2-y1)/4, x2-(x2-x1)/4, y2-(y2-y1)/4,c );}}package 装饰模式;import java.awt.Color;import java.awt.Graphics;import 简单工厂模式.DrawRec;import 简单工厂模式.DrawTri;public class Tri extends DrawTri implements Conpotent{public void paint(Graphics g, int x, int y, int x1, int y1, Color c) { DrawTri tri = new DrawTri();tri.draw(g, x, y, x1, y1, c);}}桥接模式:package 桥接模式;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import 界面.Jpanel;import 简单工厂模式.Draw;import 简单工厂模式.proFactory;public class bigpen extends pen {public void draw(String name, Graphics g, int x, int y, int x1, int y1, Color c,float size) { Draw d =proFactory.produce(name);d.draw(g, x, y, x1, y1, c,size);}}package 桥接模式;import java.awt.Color;public class greensmall implements size{public float bepaint() {return 1.0f;}}package 桥接模式;import java.awt.Color;import java.awt.Graphics;public abstract class pen {protected Color color;public void setColor(Color color){this.color = color;}public abstract void draw(String name,Graphics g, int x, int y, int x1, int y1, Color c,float size);}package 桥接模式;import java.awt.Color;public class redbig implements size{public float bepaint() {return 5.0f;}}package 桥接模式;import java.awt.Color;public interface size {float bepaint();}package 桥接模式;import java.awt.Color;import java.awt.Graphics;import 简单工厂模式.*;public class smallpen extends pen {public void draw(String name, Graphics g, int x, int y, int x1, int y1, Color c,float size) { Draw d =proFactory.produce(name);d.draw(g, x, y, x1, y1, c,size);}}。

相关文档
最新文档