版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、苏州科技学院本科生毕业设计(论文) 开发电子白板和即时通讯集成的工具摘 要本文主要介绍了电子白板的开发应用和即时通讯工具的集合。本设计开发两者有机结合在一起的集成工具,它不仅具有即时通讯的功能,也具有电子白板的功能。主要通过运用java的相关知识,并且带入第三方jar包,来设计出能写会画的电子白板,并集成通讯工具,用户拥有自己的账户密码,来连接服务器并能相互交流。本次课程设计是配合java程序设计课程,帮助我们深入学习掌握java语言,熟练运用这个工具来编写的。通过课程设计各个项目的综合训练,培养学生实际分析问题、编程和动手能力、提高学生的综合素质。本课程设计尝试使用一些较生动的示例和设计项目
2、,激发学生学习兴趣,引导学生主动学习,正确理解、接受需要重点掌握的知识点,为参加项目开发及更深入学习做好准备。关键词 电子白板;即时通讯;集成;第三方;javadeveloping the electronic board and instant messaging integrated toolabstractthis paper mainly introduces the development and application of electronic board and instant messaging tools collection. this design developmen
3、t combines both functions which are instant messaging and electronic board with integrated tool. it mainly uses the knowledge of java and bring it into the third party jar bag to designelectronic board which can write and draw. and it and integrates communication tools. users have their own account
4、passwords to connect to the server and communicate with one another.this course is designed to cooperate with java program design course to help us deeply learn java language and skillfully use this tool to write. we can train students practical analysis problem, programming and the beginning abilit
5、y and improve the students comprehensive quality through the comprehensive training of course design of each project. the course is designed to try to use some more vivid examples and design projects to stimulate the students the interest of study, to guide the student active learning, to understand
6、 correctly and accept the importance which is to master the knowledge, to get ready for the project development and more in-depth study.keywords electronic board; instant communication; integration; the third party; java目 录23第1章 绪论31.1引言31.2概要31.2.1研究背景31.2.2研究及意义4第2章 开发环境及相关技术介绍52.1开发环境52.1.1开发环境及相
7、关技术介绍52.2java技术简介6第3章 系统分析与概要设计83.1需解决的有关技术问题83.2最终目标93.3运行环境93.4总体设计93.4.1设计思路93.4.2类的分析93.4.3程序设计的相关流程10第4章 电子白板和通讯工具104.1电子白板104.1.1主窗体的设计104.1.2菜单栏和工具栏的设计114.1.3事件响应的处理114.1通讯工具114.2.1服务器端流程图114.2.2客户端流程图124.3电子白板与通讯工具的集成134.3.1软件的集成134.3.2集成的优势144.3.3白板与通讯的集成特点15第5章 程序框架与运行原理155.1操作对象和数据对象155.1
8、.1箭头对象( 矩形、直线、椭圆)155.1.2绘画操作(删除、填充)165.1.3数据对象165.2账户聊天流程17第6章 程序截图186.1菜单账户主界面186.1.1工具菜单栏186.2绘图界面以及聊天界面196.2.1工具菜单栏196.2.2画图模块196.2.3聊天窗口22结 论22致 谢23参 考 文 献24第1章 绪 论1.1 引言java不依赖平台的特点使它受到广泛的关注,java已成为网络时代最重要的语言之一。目前,java语言不仅是一门被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。因为很多新的技术领域都涉及到java语言,国内外许多大学已将java语
9、言列入本科教学计划,而it行业对java人才的需求也在不断的增长,因此,掌握java已经成为共识。java是一门说简单也不简单,说难也不难的课程。所以,我们在学习的过程中要根据自己的具体情况,合理安排编程训练时间,相信编程能力会在不知不觉中得到提高。在此次的课程设计实践中,我学到了教科书上没有的东西。这次课程设计,我按照课程设计的要求,分块实现程序的功能。在实践中我遇到许多的问题,但我都克服,最终我成功的完成了这次课程设计。从中我充分理解了java面对对象的特性,并体会到java与c语言的不同之处。在实践的同时,我又从中成长了许多,特别是在对程序的编译和调试中掌握了许多的技巧和方法,为今后的其
10、他计算机语言的学习奠定了一定的基础。集成通讯工具的电子白板上的内容既可以是一些基本的简单图形( 如: 点、直线、矩形、 圆等),也可以是文字、图像甚至可以是音频、视频,白板的数据是共享数据。当一个用户修改了其中数据之后,把立即修改通知给其他用户,让他们及时更新自己的白板视图, 其更新结果应该立即反映在其他所有用户的视图上。 因此,这要求偶我们熟悉并能熟练使用java语言,能掌握掌握网络通讯原理。1.2 概要1.2.1 研究背景 网络技术的飞速发展,更多地带给我们便利,譬如网络上的交流。随着网民的需求及技术的发展,交流平台上衍生出网上对话、远程教学这类的软件及网站。最普遍的,像我们都用的qq软件
11、、飞信,阿里旺旺;微博,空间,论坛及电子白板。 电子白板可以与电脑进行信息通讯,将电子白板连接到计算机,并利用投影机将计算机上的内容投影到电子白板屏幕上,在专门的应用程序的支持下,可以构造一个大屏幕、交互式的协作会议或教学环境。利用特定的定位笔代替鼠标在白板上进行操作,可以运行任何应用程序,可以对文件进行编辑、注释、保存等在计算机上利用键盘及鼠标可以实现的任何操作。1.2.2 研究及意义 将电子白板有机得集成与通讯工具,这将我们普遍用的通讯软件多媒体化。这对于人们更方便的交流具有重大的意义。将交流式电子白板应用于教育具有重大意义。电子交互白板为资源型教学活动提供技术支撑;白板操作系统扩展、丰富
12、了传统计算机多媒体的工具功能,更加提高了视觉效果;提高教学效益,使教学的计划性更强。 电子交互白板有利于教师开展团队教学研究;还能提高学生的注意力和理解力;便于学生复习以往的知识内容并促进学生掌握新知识;有利于调动学生在课堂上主动学习的积极性和参与性等。 电子白板由硬件电子感应白板(white board)和软件白板操作系统集成。它的核心组件由电子感应白板、感应笔、计算机和投影仪组成。电子感应白板是一块具有正常黑板尺寸、在计算机软硬件支持下工作的大感应屏幕,其作用相当于计算机显示器并代替传统的黑板。电子感应笔承担电子白板书写笔和计算机鼠标的双重功用,其作用代替传统的粉笔。教师或学生直接用感应笔
13、在白板上操作(相当于传统教学中师生用粉笔在黑板上操作):写字或调用各种软件,然后通过电磁感应反馈到计算机中并迅速通过投影仪投射到电子白板上。白板操作系统是存在于计算机中的一个软件平台,它不仅支撑人与白板、计算机、投影仪之间的信息交换,而且它还自带一个强大的学科素材库和资源制作工具库,并且是一个兼容操作各种软件的智能操作平台,教师可以在白板上随意调用各种素材或应用软件教学。白板集传统的黑板、计算机、投影仪等多种功能于一身,使教师使用非常方便。第2章 开发环境及相关技术介绍 2.1 开发环境2.1.1 开发环境及相关技术介绍开发语言为java,开发工具选用myeclipse。 java是一种简单的
14、,面向对象的,分布式的,解释的,健壮安全的,结构中立的,可移植的,性能很优异的,多线程的动态语言。这里采用java作为开发语言主要是基于java的面向对象和可移植性。myeclipse是一个开放源码的,基于java的可扩展开放平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组建构建开发环境。java语言程序主要应用于网络服务器,一般计算机,嵌入式设备,智能卡这四个领域。java2提供了开发这四类应用程序的标准框架和运行环境,其开发平台有:(1)j2se标准版本(java2 stantdard edition):定位在客户端,主要用于桌面应用软件的编程。(2)j2me(java2 mi
15、cro edition):主要用于嵌入式系统开发,如手机和pda编程。(3)j2ee企业版本(java2 enterprise editon):定位在服务器端java2的企业版,主要用于分布式的网络程序开发,如电子商务网站和erp系统 java平台演进到java2后,java平台分别针对不同领域的需求被分成四个版本,亦即j2ee、j2se、j2me以及javacard图2-1 java 平台的结构2.2 java技术简介 1.java语言的特点(1)简单性java的风格类似于c+,因而c+程序员是非常熟悉的。从某种意义上讲,java语言c及c+的一个变种,因此,c+程序员可以很快就掌握java
16、编程技术。 (2)平台无关性java引进虚拟机原理,并运行于虚拟机,实现不同平台之间的java接口。使用java编写的程序能在世界范围内共享。java的数据类型与机器无关。(3)安全性java的编程类似c+,但舍弃了c+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了安全管理器,防止程序的非法访问。(4)类装载classloader通过将本机与网络资源类的名称分开来保持安全性。应为装载类时总要经过检查,这样避免了特洛依木马现象的出现。从网络上下载的类被调进一个与源相关的私有的名字域。当一个私有类访问另一个类时,build-in(本机类)首
17、先被检查,然后检查相关的类。这样就避免了破坏本积累情况的出现。(5)面向对象 java吸收了c+面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。(6)分布式 java建立在tcp/ip网络平台上,提供了用http和ftp协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。(7)健壮性 java致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可能性。java取消了c语言的结构、指针、#define语句、多重继承、goto语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的内存空间。
18、(8)解释的 java解释器(运行系统),能直接运行目标代码指令。链接程序通常比编译程序所需资源少,所以程序员可以在创建源程序上花更多的时间。(9)高性能如果解释器速度较快,java可以在运行时直接将目标代码翻译成机器指令。sun用直接解释器,一秒钟内可调用300,000个过程。翻译目标代码的速度与c/c+的性能没有什么区别。2.java的运行机制java虚拟机(java virtual machine,jvm):java虚拟机可以理解成一个以字节码为机器指令的cpu;对不同的运行平台,有不同的虚拟机;java虚拟机机制屏蔽了底层运行平台的差别,真正实现了“一次编译,随处运行”。3.java的
19、垃圾回收java垃圾回收(garbage collection):回收没有使用的内存空间。在c/c+等语言中,是由程序员负责回收无用的内存。java语言消除了程序员回收无用内存的职责,它提供一种系统级线程跟踪存贮空间的分配情况,并在jvm空闲的时候,检查并释放那些可以被释放的内存空间。垃圾回收在java运行过程中自动进行,程序员无法控制和干预。4.java的多线程java的多线程功能使得在一个程序里可同时执行多个小任务。线程有时也称小进程,是一个大进程里分出来的小的独立的进程。因此java实现的多线程技术比c和c+更健壮,多线程带来的更大的好处是更好的交互性能和实时控制性能。当然实时控制性能还
20、取决于系统本身(unix,windows,macintosh等),在开发难易程度和性能上都比单线程要好。任何用过当前浏览器的人,都感觉为调一幅图片而等待是一件很烦恼的事。在java里,可用一个线程来调一幅图片,而我们可以访问html里的其它信息而不必等待。在java里实现线程有两种方式,一种是继承thread类,覆盖它的run()方法,另一种是实现runnable接口,实现它的run()方法。java中的线程有四种状态,分别是:new(新建状态),runnable(可运行状态),blocked(阻塞状态),dead(死亡状态),其中可运行状态又分为运行状态和等待状态,另外将等待池和锁池从阻塞状
21、态分离。如果一个线程结束了,也就说明他是一个死线程了。当程序员调用一个线程实例的start()的方法的时候,这时线程进入就绪状态,但并不是运行状态,当虚拟机开始分配给他cpu的运行时间片的时候线程开始进入运行状态,当线程进入等待状态(例如等待某个事件发生的时候),这时候线程处于挂起状态。第3章 系统分析与概要设计3.1 需解决的有关技术问题1. 使用面向过程的语言如c、pascal、ada、cobol等设计程序,需要选择数据结构、设计算法,再把算法翻译成代码。像java等面向对象语言不仅仍然具有面向过程语言的特点,而且通过抽象、封装、继承和多态增加了灵活性、模块性、清晰性和可重用性等有益特征。
22、在面向过程程序设计中,数据和对数据的操作时分离的,因而,这种做法需要把数据传递到方法中,面向对象程序设计把数据和属于它们的操作放入叫做对象的实体中,这样做解决了面向过程程序设计中不可避免的许多问题。面向对象程序设计中,所有对象都与属性和活动联系在一起,因此,面向对象程序设计是一种更贴近真实世界的模型组织程序。使用对象可以改进软件的可重用性,使程序更容易开发和维护。要以对象的观点来考虑java程序,java程序可以看成相互合作的对象所构成的集合。2. java不仅是一门编程语言,它还是一个具有庞大类和接口构成的api库的开发部署平台。要开发自己的项目,必须使用这些api中的类和接口,遵从它们的习
23、惯和规则。为开发java图形用户界面程序而进行api设计是体现面向对象原则的一个优秀范例。学习java图形用户界面程序设计api的体系结构,学习利用图形用户界面组件开发界面友好的应用程序和applet。3. gui可以使系统对用户更友好且更易于使用。创建gui需要创造性和关于gui组件工作原理的知识。在java中,gui组件非常灵活多变,因而可以创建丰富多彩的用户界面。许多java集成环境都提供用于可视化设计和开发gui接口的工具。这可以最少的编码快速为java应用程序或applet集成用户界面(ui)的元素。然而,任何工具都不是万能的,有时需要修改这些工具生成的程序。因此,在使用可视化工具之
24、前,非常有必要学习java gui程序的基本概念。3.2 最终目标借助java的语言面向对象的优势,创造一个能写会画的的电子白板。白板中类似于简单的画图工具,有铅笔,橡皮,填充,集合图形以及颜色选择等功能。并且集成于通讯工具,每个用户有自己账户密码来连接服务器,并且实现同一服务器登陆的用户能在白板下方的聊天板块自由交流。3.3 运行环境正确安装配置了jre1.6以上的windows和linux的pc机都可正常运行。3.4 总体设计3.4.1 设计思路创建一个mapadeo主界面,工具栏里有控制菜单栏,工具菜单栏有,创建电子白板、连接服务器、以及账户密码管理;还有语言菜单栏,并设置了英语和德语。
25、 新建电子白板:有文件菜单,提供输出图片;选项菜单,用来保存,加载,清除操作。下面则是画板界面,用户可以在此选择绘图。最下方还有聊天板块。 账户管理设置:提供服务器选择,添加用户名,密码和地点选项。3.4.2 类的分析程序整体包括2个部分,分为实现画图部分和实现聊天部分,分别分成2个包来实现代码。net.zestflood.mapadeo包中,主要类有:arrowobject、chatinstanceinterface、chatinstancemanager、dataobject、ellipseobject、formula、freehandobject、friendlist、guimapade
26、o、lineobject、objectmanagement、rectangleobject、xmlstream以及main主类。net.zestflood.mapadeo.friendlist包中含有:accountmanager、chatinstancehandler、chatinstancehandlermuc、chatinstancehandlersingle、chatlistener、chatwindow、contact、initwhiteboard、reqwhiteboard、reqwhiteboardmuc、rosterchanger、rosterchangerdialog、ros
27、termanager、settings、xmlcontrolextension、xmlcontrolextensionprovider、xmlextension、xmlextensionprovider、xmliqextension、xmliqextensionlistener这些类。3.4.3 程序设计的相关流程。 未完待续 。第4章 电子白板和通讯工具4.1 电子白板实际上就是1个java画板。4.1.1 主窗体的设计主类(guimapad)用来生成主界面,完成白板的主要框架。主类由jframe派生出来、主界面由菜单栏、选项栏和画图区域三部分组成,布局格式采用borderlayout布局格
28、式。4.1.2 菜单栏和工具栏的设计菜单栏包括文件菜单栏和选项菜单栏。其中,文件菜单栏作用是图像输出;选项菜单栏包括保存,载入,清除等。在主类中添加并对菜单栏和选项栏添加事件监听。4.1.3 事件响应的处理(1).选项菜单栏中的保存,载入事件处理:java把每个文件都视作顺序字节流。如果要在java中进行文件处理,则必须用到java.io包。这个包定义了一些流类,选用fileinputstream(从文件中读入数据)和fileoutstream(从文件输出数据),通过这些文件的对象便可以载入文件。这些流相应地从inputsream和outputstream派生,这些文件均使用文件流,所以必须将
29、文件结构化以适应程序的要求。我们需要对保存的对象序列化,然后以输出流的方式保存。(2).鼠标画图:由于白板主要用来画图,所以需要在程序中添加对鼠标按下、拖动、进入。退出、移动和单击事件进行监听并进行处理。内部类定义了完成鼠标按下、松开、进入、退出的事件响应以及完成鼠标拖动和移动事件的响应。4.1 通讯工具4.2.1 服务器端流程图 服务器选择 - 端口设置账户管理使用端口初始化服务器套接字将客户信息写入列表框启动线程,监听聊天室 刷新客户端信息检查当前用户连接数是处理产生的错误异常否实例化一个client线程类 一个对应一个客户连接是否断开?断开服务器是4.2.2 客户端流程图白板客户端界面
30、运行并连接服务器用户是否请求连接是将电子白板聊天线程实例化启动线程 监听服务器传来的信息请求断开连接否是运行断开方法是定义并实例化一个字符缓冲存储信息 用打印流发送信息线程处理服务器传来的信息发送聊天消息4.3 电子白板与通讯工具的集成跳过集成,我们来设计电子白板和通讯工具,那只能是2个软件,并且两者之间没任何的联系。通过集成,能电子白板和通讯工具结合起来变成1个软件,2种不同的功能,并且互相联系。这就是功能的拓展。4.3.1 软件的集成软件集成就是用一种较好的方式,使多种软件的功能集成到一个软件里,或是把软件的各部分组合在一起。软件集成是指将完成某项工作的一组相关的应用程序组织起来在一个统一
31、的操作环境下以综合一致和整体连贯的形态来进行工作。数据集成模型的基本思想史对各种软件组件的数据存取进行集成。这样,用户在存取数据时就可以绕过相应的应用软件,而直接获取该软件所创建并存储的相应信息。例如:我们可以利用数据库网关访问使用ibm db2数据的客户订单系统和使用oracle数据库的客户账单系统。网关负责将信息从各个数据库中抽出,存放到一个用来评估客户购物习惯的数据挖掘应用程序中。这样,在使用网关时,我们就可以绕过订单处理软件和账单软件而直接获取数据。数据集成模型通过直接访问软件所创建、维护并存储的相应信息来实现软件集成,这样做通常是为了在应用软件之间实现数据的重用和同步。如果你想要实现
32、以下目标,就应该使用数据集成模型:从多个信息源综合数据来进行分析和决策。例如,从多个包含用户信息的数据源获取信息,并把它们送到统计软件包。向多个应用软件提供某公共信息源的只读访问权限。例如,创建一个有完整用户信息的数据库,并运行多个数据挖掘或统计软件访问该数据库的情况。从一个数据源提取信息并转换为合适的格式,以此来更新另一数据源的信息。例如,想要更新所有数据源的客户地址信息,使它们保持同步和一致。4.3.2 集成的优势集成就是将多种软件的功能集中在一个软件,并达到互相联系的作用在过去的30年中,应用在信息系统中的集成概念已经引人注目的变化。最开始集成主要是将一套不同的硬件联系在一起支持从头开发
33、的软件。但随着硬件的发展,使得构建更加复杂的软件成为可能,集成的特性发生的变化。集成越来越意味着耦合硬件和软件来形成一个系统。现代集成的概念是由软件主导的。企业越来越多地致力于将他们已有的软件与新软件进行集成来实现新的功能。互联网络的出现使我们可以通过网络在不同的硬件平台上使用这些软件,从而使集成工作比以往更加复杂。eai代表了系统设计方法的技术的变革,其目的是减少现今系统集成工作的复杂程度。随着集成特性的改变,集成方案选项的复杂度和广泛度都有了一定的提高。包括在应用程序间共享数据并保证其正确性和一致性,提供应用程序的集成前端访问,通过工作流程来联系各个应用程序,并以革新的方式从现有应用程序中
34、提取信息来创建新的应用程序。eai的最终目标是使一个企业可以快速、方便地将不同应用程序集成到一起。4.3.3 白板与通讯的集成特点我们通过电子白板能进行自由式地画图,并且能在下方的聊天窗口与同服务器的用户进行交流。而且进行账户密码的管理,能讲完成的画图输出与他人交流,这就是集成给我们带来的好处。集成也简化了访问数据库的过程。当数据库使用接口很容易访问时,或是在使用中间件向新的应用程序提供多数据源集成时,数据集成模型就可加快集成速度。每种集成都与一种数据模型相联系。如果数据模型发生改变,那么集成就会被破坏。这就使数据集成对变化非常敏感。由于系统通常是不断演变的,因此这样的改变将会导致为了维护集成
35、而付出大量工作。第5章 程序框架与运行原理5.1 操作对象和数据对象5.1.1 箭头对象( 矩形、直线、椭圆) 自动发送给其他用户创建参数设置属性 检查p点是否在所取对象里,在的话计算p点在直线的距离,使用基本线性代数检查点位置 粗线条实际上是多边形填充,通过x,y的增量点端点创建一个长方形调节粗细 创建xml表示的对象,到一个dataobject箭头节点和提取数据创建一个新的 arrowobject。得到一个改变字符串发送给其他用户。创建xml调整大小矩形、直线、椭圆等对象与箭头流程类似。5.1.2 绘画操作(删除、填充)在短距离的数组中加入点后,对滚动条设置正确的面板大小。选中按钮收集位置如果fillbotton被选中,改变选中对象的颜色选择。如果cutbotton被选中,删除选中的对象时。填充对象抹去对象5.1.3 数据对象改变字符串发送给用户,覆盖子类在面板移动对象如果点p在corner里,覆盖一个dataobject子类计算容器大小,以便显示,所有组件并添加到容器获取对象,拖动对象,检查是否有容器检查是否在拖拽区域返回x,y的位置获取xml表示当前对象,覆盖一个子类,发送用户一个完整对象获得组件的容器里,返回点(x,y),拖动方法处理,跳帧大小5.2 账户聊天流程将数据存储、配置创建账户上选定的服务器自动创建一个随机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论