版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要在现代企业,内部通讯软件是不可缺少的辅助工具,本系统就是利用JavaSwing技术和JDK6.0新增的JavaDB数据库开发的夸平台的应用程序。它可以不用连接Internet,直接在局域网内实现内部通讯、工作交流,提交计划等业务,这种通讯系统广泛应用于中小型企业的内部通讯,可以大大提高职工的工作效率,在方便企业内部职工交流的同时,也创造了一个安静的工作环境。根据企业内部通讯系统的特点,可以将该系统划分为信息通讯,系统升级,系统设置,用户搜索等共计六大部分。本系统是一个桌面应用程序,它可以直接在本地计算机上运行,而不需要像外部应用那样布属到指定的服务器中才可以运行,所以企业内部通讯系统的数据库应该随系统存在,即数据库和企业内部通讯系统只在一个计算机中,将数据库和应用程序捆绑在一起,这样不但可以节省开销,而且能够提高系统的安全性,本系统采用JavaDB数据库。本系统的设计板块分为数据库设计、主窗体设计、编写公共类、系统托盘模块的设计、系统工具模块的设计、用户管理模块的设计、通信模块的设计这八个部分。报告中将对主窗体设计、系统托盘模块的设计、系统工具模块的设计这三个部分进行重点讲述,数据库的创建与连接,以及各方法类的创建也将简要概述,还有用户管理模块的设计和通信模块的设计也将作大体归纳总结!【关键词】企业内部通讯系统 JavaDB数据库 JavaSwing 技术wordABSTRACTInthemodernenterprise,internalcommunicationssoftwareisanindispensableauxiliarytool,thesystemistheuseofJavaSwingtechnologyandJDK6.0newJavaDBboastplatformdatabasedevelopmentapplications.ItcannotconnectInternet,directlyintheinternalcommunicationswithintheLAN,workexchange,submitplansandotherservices,suchcommunicationsystemsarewidelyusedinsmallandmediumenterprisesininternalcommunications,cangreatlyimprovetheefficiencyofworkers,in-housestafftofacilitatecommunication,butalsotocreateaquietworkingenvironment.Accordingtothecharacteristicsofinternalcommunicationsystem,thesystemcanbedividedintoinformationandcommunications,systemupgrades,systemsettings,usersearch,andsoatotalofsixsections.Thesystemisadesktopapplicationthatcanrunonthelocalcomputer.Withouttheneedforexternalapplicationsuchasfabricisdesiqnatedastheservercanrun.Sothedatabaseinternalcommunicationsystemshouldexistwiththesystem.anddatabaseandinternalcommunicationsystemsonlyinacomputer,databaseandapplicationsbundledtogether,whichwillnotonlysavemoney,butalsocanimprovesystemsecurity,thesystemusesJavaDBdatabase.Thedesignoftheplateintothedatabasesystemdesign,themainformdesign,preparationofpublicclassesinthesystemtraymoduledesign,systemdesigntoolmodule,thedesignoftheusermanagementmodule,communicationmoduledesignedtheeightparts.Reportwillbethemainformdesign,systemtraymoduledesign,systemdesigntoolmodulefocusonthethreeparts,databasecreationandconnectivity,aswellasmethodsoftheclasswillcreateabriefoverview,thereistheusermanagementmoduleDesignandCommunicationModulewillbegenerallysummarized!【Keywords】Internalcommunicationsystem JavaDBdatabase JavaSwingtechnologyword目 录前 言 1第一章企业内部通讯系统概述 3第一节 企业内部通讯系统的简介 . 3第二节 通讯系统的起源. 3第三节 系统研发的目的与意义 . 4第四节 企业内部通讯系统功能概述 . 6一、企业内部通讯系统的基本特点 6二、企业内部通讯系统的功能构造 7第五节 本章小结. 8第二章企业内部通讯系统的设计概况 9第一节 企业内部通讯系统设计模块的组成 . 9第二节 系统的可行性分析. 9一、技术可行性 10二、程序语言的选择 13三、开发环境的介绍 15第三节 功能需求分析. 15第四节 企业内部通讯系统的设计原则 . 16一、实用行原则: 16二、可行性原则: 16三、扩充性原则: 16第五节 企业内部通讯系统未来设计目标与期望 . 17第六节 本章小结. 18第三章主窗体设计 19第一节 主窗体概述. 19第二节 如何创建主窗体. 20一、创建EQ类 20二、在构造方法中的相关操作 21三、初始化Socket服务器 23四、编写检测公告信息的方法 23五、编写初始化用户信息按钮的方法 24六、编写应用程序的入口方法 25word第三节 记录窗体位置. 26一、怎样为窗体添加事件监听器 26二、编写savaLocation 方法 26第四节 本章小结. 27第四章系统托板模块设计 28第一节 系统托盘模块的简述. 28第二节 系统托盘模块的具体现实过程 . 28一、编写SystemTrayInitial 方法 28二、编写createMenu方法 29三、创建SystrayActionListener 类 30第三节 本章小结. 31第五章系统工具模块的设计 32第一节 系统工具模块的简述. 32第二节 系统工具模块的实现过程 . 32一、编写createSysToolPanel 方法 32二、在createSysToolPanel 方法中创建界面选择面板 33三、创建用户搜索面板部分 34四、创建系统操作部分 35五、创建搜索新用户按钮的事件监听器 36六、创建系统更新按钮的事件监听器 37七、编写更新程序的 updateProject 方法 38第三节 本章小结. 39第六章分工情况叙述 41结 论 42致 谢 44参考文献 45word前 言随着业务的拓展,很多企业在各地陆续建立了多个分支机构、 设置了分公司或办事处,给企业带来了新的发展机遇,但同时也带来了新的挑战。总部与分支机构、分支机构与分支机构的协作越来越多,沟通和联系也更加的频繁。因此,建立一套有效的、符合自身实际情况的内部通讯系统,将有效地提高企业整体的工作效率和品牌形象。本系统就是利用JavaSwing技术和JDK6.0新增的JavaDB数据库开发的夸平台的应用程序。Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。它具有平台无关性、分布式、面向对象、安全性、面向对象、分布式、键壮性等特点。JavaDB是Sun公司的轻量级数据库。它却是一个先进的全事务处理的基于Java技术的数据库,它支持各类开放标准、触发器和存储程序。 JavaDB可以客户端服务器模式使用,也可以直接嵌入到一个 Java应用程序中。在这些场合,JavaDB都可以在同样的Java虚拟机(JVM)中运行,这就无需在应用程序之外单独购买、下载、安装或管理这个数据库。对于选择在生产中采用JavaDB的客户,Sun将提供支持服务。Swing是由100%纯Java实现的,Swing组件是用 Java实现的轻量级(light-weight )组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。由于AWT组件通过与具体平台相关的对等类(Peer)实现,因此Swing比AWT组件具有更强的实用性。Swing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。 Swing采用了一种MVC的设计范式,即"模型-视图-控制"(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。企业内部通讯系统致力于帮助企业提高工作效率, 降低经营费用。企业内部通信系统是面向企业用户,为企业提供的一个方便、快捷、可管理、功能强大的通信平台。为企业内部员工办公提供更方便的沟通方式,既能增强团队的信息共享和沟通能力,提高工作效率,又能有效减少企业通讯费用,同时也能营造一种新型高效的企业沟通文化氛围。 以eclipse 为平台,Java开发的企业word内部通讯系统,在通讯过程中禁止使用聊天表情、文件传送等功能,避免资料外泄,或因发送错误而导致上级资料的丢失以及其他损失。最重要的是必须适应任何操作系统,也就是实现跨平台技术。word第一章 企业内部通讯系统概述第一节 企业内部通讯系统的简介随着网络的逐渐普及,几乎所有企业都建立了自己的局域网,并安装了相应的企业内部通讯软件,利用通讯软件可以大幅提高企业的办公效率。 近年来,各种企业内部通讯系统到了飞速的发展, 它可以不用连接 Internet ,直接在局域网内实现内部通讯、工作交流,提交计划等业务,这种通讯系统广泛应用于中小型企业的内部通讯,可以大大提高职工的工作效率,在方便企业内部职工交流的同时,也创造了一个安静的工作环境,在现代企业,内部通讯软件是不可缺少的辅助工具。在企业内部通讯系统的设计过程中,共分为以下八个模块进行了设计:主窗体、系统托盘模块,系统工具模块,数据库模块,公共类,用户管理模块、通讯模块,这八个模块是相互联系、缺一不可的,本文将主要对前台界面基础类——主窗体、 系统托盘模块,系统工具模块的设计与实现做重点概述。
[3][14]在企业内部通讯中,采用文字聊天,可以弥补视频聊天的地方方言带来的语言障碍问题,同时可以方便的把讨论内容整理成文档,具有非实时的留言功能,所以即使在视频通讯日益流行的今天,文字聊天依然具有它自身的优点,[12]成为视频通讯的有益补充,在企业应用中占有一席之地。第二节 通讯系统的起源在遥远的古代,人类为了传递信息会在高处朝向同伴大声喊叫, 以达到传递信息的目的。时间稍近些,在秦始皇时代,驻守长城的将士为了通报敌情,会在烽火台点燃烽火,依靠烟雾来传递防御的信息。在近代到现代发展的很长word的一段时间里,随着科技的高速发展,用电脑查看电子邮件,用电话进行语音沟通,用传真机收发传真等三种不同的系统分别管理三种不同类型的通讯方式,并且使用不同的三种工具来访问。同样,对于企业来讲,也存在同样的情况。可见,只有将各种通讯手段有效地整合到一起,形成统一的通讯系统,才能使企业内部的沟通更舒畅、资源共享更容易。这个统一的通讯能系统够为企业打造一个综合信息服务的平台,整合多种通讯手段,有效地提高员工的工作效率和企业对资源的利用率,降低生产成本。对于企业与企业的交流、企业与客户的沟通,也面临着同样的问题。在这种情况下,统一的通讯系统改变了传统的商业模式,企业可快速实现与客户及合作伙伴的即时沟通,这有助于企业抓住稍纵即逝的商业机会。由此可见,人与人之间、企业与企业之间的通讯是与生俱来的要求,而我们现在又处在信息化高度发达的时代,人们出于对信息互联互通的迫切需求,需要有一种可以融和多种通讯方式于一体的解决方案来解决多种方式沟通的困扰,企业内部通讯系统的概念由此产生,从而迅速发展起来。企业内部通讯系统往往运行于企业内部网络环境,与外界隔离,有助于保证企业关键信息的安全。随着计算机和网络通讯的发展,企业经营的逐步开始信息化,实现内部办公通讯的无纸化,开发基于企业内部的局域网通讯系统,是提高企业办工效率、节约办公成本、加强企业内部数据的安全性的趋势。本课题采用利用JavaSwing技术和JDK6.0新增的JavaDB数据库开发了基于局域网的内部通讯系统,包括了私人聊天、访问公共资源等功能模块。系统具有了局域网通讯系统的基本雏形,实现了本次设计的预定目标。第三节 系统研发的目的与意义计算机先进技术的发展给现代社会带来了巨大的变化, 计算机网络通讯的应用也日新月异,并且在各个领域中得到了非常好的应用。科学文明从今天到未来是一个待发展的过程,需要人们使用计算机,通过使用计算机大力辅助科学研究并对各种信息合适地加以利用,并达到一个较良好的境界。人们学习和word发展使用计算机,合适地利用各种信息和数据,在计算机网络上交流着信息,传达着信息,得到一切可能得到的信息和资料。计算机网络是一个相对很好的媒体形式,它时常是有线的。同时,无线网络也得到了很好的利用。计算机网络在世界上的发展有两大基本形式:一是广域网,二是局域网。它们也都是在日新月异地发展着的。计算机网络有几大优势:一是信息传播速度快,一是接收信息范围广,一是可以以多种形式进行传播,如文字图片和声音图像方式都可以合在一起传播。以合在一起传播。计算机网络是为了传递各种信息而备的,计算机的通信保密和计算机的安全工作也急切期待得到较好的保障,作为一个企业的内部通讯,安全是关系到企业生存的问题,所以如何利用好计算机网络通讯,避免安全带来的隐患问题,是企业在信息化进程中需要谨慎对待的课题。[13][14]由于企业信息化逐渐成为社会发展趋势,越来越多的企业投资开发或者购买相关的软件来投入使用到企业运作的各个环节。通讯,是一个企业生存发展的基本要素,使用一些网络软件提供的通讯服务还是购买一些团队开发的通讯产品,又或者是自己投资根据自身情况量身定制一套适合企业自身的通讯产品,一直是企业决策者的难题。网络提供的通讯软件,可以免费使用相关的服务,但是作为一些企业级的资料信息,通过这种网络的免费服务安全问题大打折扣;选择一些团体开发的通讯软件,企业自身根据自己内部的硬件条件搭建平台,也许可以满足企业的部分功能或者一定阶内的需求,但是每个企业都有共性和特性两部分,而且企业在不断的发展变革,所以这也不是长久之计;而自己开发适合自己的通讯软件,需要企业根据实际硬件条件和经济情况来,设计好大框架,根据企业自身发展状况和需求状况开发适合自身的通讯产品。在QQ、MSN、ICQ等通讯软件风行的今天,基于局域网的企业内部通讯系统是否有其价值这个问题,是许多人的疑问。可以肯定的是:肯定有价值。各个企业有企业自身的特点、自身的安全要求,有些功能要求高些,有些功能需要弱化一些,所以结合企业自身业务需求和硬件条件开发适合企业自身的内部通讯系统,是肯定有价值也是必须的。企业中究竟使用什么方式实现内部通讯,是企业一直需要解决得问题。有些企业使用的是QQ或者MSN,本身这些软件开发的目标定位就在于普通大众的娱乐与交流,如果用到企业的一些需要保密的交流或者文件上,这就存在巨大的隐患;如果每个企业都购买一些公司团体开发的软件,一是成本高,二是不一定就能很好的和企业现有的框架模式合拍;所以,如果有技术或者经济、硬件条件和能力的公司,选择了开发适合自己企业自身的内部通讯产品。word第四节 企业内部通讯系统功能概述一、企业内部通讯系统的基本特点企业内部通讯系统(EQ)通讯软件提供了一个方便、快捷的通讯平台。它具备了通讯软件的基本功能。它可以方便的进行信息传送、文件共享传送等。单击“系统设置”选项卡,可以设置系统、IP搜索范围和服务器登录设置,这样实现对于登录的管理。可以单击“系统操作”选项卡,对用户信息进行添加、删除、用户更名、访问主机资源及公共程序等操作。在用户没有开启系统的情况下,可以向用户发送信使信息,这样在用户登录的时候便可以看到。本程序还支持群发功能,按住键盘上的<Ctrl>键,选择需要发送信息的人,然后,单击鼠标右键选择“信使群发”命令,进行信使群发操作。该程序的功能也不强大,但是它经过优化便可以成为方便的通讯软件,它对于我们了解QQ软件的开发有很大的帮助。企业内部通信系统的特点归纳如下:①即时性。与企业内部其他通信手段相比,企业内部通讯系统的即时性时相当突出的,它的速度非常快,不管接收方的计算机在做什么事情,发送的消息都能即时弹出来,并可以把接收方的是否已阅读的信息反馈回来,实现消息的跟踪功能。②高效性。企业内部通讯系统的消息发送不仅可以用于企业内部员工之间,还能用于客户支持,让交易者、中介商和客户之间的通信更加顺畅,从而使消息的发送更加灵活和高效。③多样性。随着即时通信技术的不断完善,应用范围的不断扩展,企业内部通讯系统的功能正在逐渐增强,如声音、视频的传输等;各项性能也在不断提升,特别在安全性、健壮性等方面,这就使即时通信产品具备了为企业提供多种高质量、高可靠性服务的能力。企业内部通讯系统必须提供网络通讯功能、在通讯过程中禁止使用聊天表情、文件传送等功能,避免资料外泄,或因发送错误而导致上级资料的丢失以及其他损失。最重要的是必须适应任何操作系统,也就是实现跨平台技术,因为企业内部的工作需要,工作环境中使用了多个操作系统来完成不同的工作。word另外,系统不需要使用服务器中转和记录通讯内容,可以独立完成通讯任务,排除职工对领导监视工作进度等逆反心理。二、企业内部通讯系统的功能构造1、企业内部通讯系统的功能模块化分:根据企业内部通讯系统的特点,可以将该系统划分为信息通讯,系统升级,系统设置,用户搜索等共计六大功能部分。系统功能划分如图 1.1所示:图1.1系统功能模块分布图2、企业内部通讯系统的功能模块简述信息通讯:员工之间可以互相发送信息来沟通当时的工作情况。系统升级:当企业内部通讯系统有更新的版本时, 可以使用该功能进行软件升级。系统设置:系统设置功能可以设置企业内部通讯系统的用户界面, 公共路径等等,还可以设置公告的存放路径。用于提示职工企业的公告信息。用户搜索:在企业内部通讯系统第一次运行的时候,用户列表是空的,这时可以使用用户搜索功能搜索局域网内的所有用户。word访问公共资源:该功能可以访问企业内部共用的一个公共得服务器上的资源,这个路径可以在系统设置中来设置。访问对方主机:当与对方进行沟通的时候, 也就是两个职工互相通讯,有一些特别大的工具软件或者是图形资源, 视频资源等等,可以直接通过该功能访问对方的主机,复制该资源或者直接查看需要的资源。
[7][8][9]第五节 本章小结本章主要对企业内部通讯系统的发展、特点、应用等做一个详细概述,并简要归纳了该系统的功能模块组成。 企业内部通讯系统是为了方便职工交流的同时,提高职工的工作效率而建立的。它要求企业跟据自身的软硬件条件,来选择或者开发适合企业自身内部通讯产品。它可以在局域网内实现内部通讯、工作交流,提交计划等业务以为企业内部工作的需要,企业内部通讯系统必须实现跨平台的技术,另外系统不需要使用服务器中转和记录通讯内容。企业内部通讯系统的功能部分分为信息通讯,系统升级,系统设置,用户搜索等共计六大部分。而设计模块部分则分为:主窗体、系统托盘模块,系统工具模块,数据库模块,公共类,用户管理模块、通讯模块这八个模块,但本文重点讲述的主窗体、系统托盘模块,系统工具模块这三个模块的设计与实现。通过本章的内容,我们将对企业内部通讯系统有一个具体的认识和了解。word第二章 企业内部通讯系统的设计概况第一节 企业内部通讯系统设计模块的组成设计模块数据库主窗体公共类系统托系统工用户管通讯模设计设计编写盘模块具模块理模块块设计设计设计设计图2.1设计模块该内部通讯系统采用的是 JavaDB数据库,数据库和应用程序是绑定在一起的;主窗体界面是企业内部通讯系统的通讯列表; 公共类包含了数据库操作类和系统公共类这两大类;系统托盘模块是用来定义系统图标的; 系统工具模块专起维互系统的作用;用户信息模块包括了所有的用户信息; 通讯模块用于不通职工之间的通讯。
[2][12]第二节 系统的可行性分析word一、技术可行性JavaSwing技术:Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级(light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。由于AWT组件通过与具体平台相关的对等类(Peer)实现,因此Swing比AWT组件具有更强的实用性。 Swing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。 Swing采用了一种MVC的设计范式,即"模型-视图-控制"(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。Swing外观感觉采用可插入的外观感觉 Swing技术的应用已经在国外大行其道,由于Java的免费、易学以及大家对于 java技术的充分信赖,好多公司早早的就把应用程序的一切,从后台服务到前台人机交互界面, 统统移到了Java开发上。Swing出现了快10年了,凭借其先进的设计思想,一直未曾落后于哪种语言的界面开发技术,使用和理解 Swing的设计思想,对软件开发者大有裨益。 随着Java的不断升级和优化,Swing的速度一直在提高,美观性也在改善,基于Swing的成功应用也越来越多了。JavaDB数据库:JavaDB是Sun公司的轻量级数据库。它却是一个先进的全事务处理的基于 Java技术的数据库,它支持各类开放标准、触发器和存储程序。JavaDB可以客户端服务器模式使用,也可以直接嵌入到一个 Java应用程序中。在这些场合, JavaDB都可以在同样的 Java虚拟机(JVM)中运行,这就无需在应用程序之外单独购买、下载、 安装或管理这个数据库。对于选择在生产中采用 JavaDB的客户,Sun将提供支持服务。新安装了 JDK6 的程序员们也许会发现,除了传统的 bin、jre 等目录,JDK6新增了一个名为JavaDB的目录。这便是Java6的新成员:JavaDB。这是一个纯Java 实现、开源的数据库管理系统(DBMS),源于Apache软件基金会(ASF)名下的项目Derby。它只有3MB大小,对比动辄上 G的数据库来说可谓袖珍。但这并不妨碍Derby 功能齐备,支持几乎大部分的数据库应用所需要的特性。更难能可贵的是,依托于 ASF强大的社区力量,Derby得到了包括IBM和Sun等大公司以及全世界优秀程序员们的支持。 这也难怪Sun公司会选择其10.2.2版本纳入到JDK6中,作为内嵌的数据库。这就好像为 JDK注入了一股全新的活力:Java程序员不再需要耗费大量精力安装和配置数据库,就能进行安全、易用、标准、并且免费的数据库编程。wordJDK概述:(JavaDevelopmentKit )是SunMicrosystems针对Java开发员的产品自从Java推出以来,JDK已经成为使用最广泛的 JavaSDK(Softwaredevelopmentkit )。JDK是整个 Java 的核心,包括了 Java 运行环境(JavaRuntimeEnvironment),一堆Java工具和Java基础的类库(rt.jar) 。不论什么Java应用服务器实质都是内置了某个版本的 JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(JavaVirtualMachine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket 在服务端运行效率也要比 SunJDK好很多。但不管怎么说,我们还是需要先把SunJDK掌握好。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本信息也不再延续以前的1.2,1.3,1.4,而是变成了5.0,6.0 了。从6.0开始,其运行效率得到了非常大的提高,尤其是在桌面应用方面。JDK 本身使用了Java语言编写,在我们下载的安装包里,有一个src.zip ,里面就是JDK的源代码。JDK 版本:①SE(J2SE):standardedition, 标准版,是我们通常用的一个版本,从JDK5.0开始,改名为JavaSE.②EE(J2EE):enterprise edition, 企业版,使用这种 JDK开发J2EE应用程序,从JDK5.0开始,更名为JavaEE.③ME(J2ME):microedtion, 主要用于移动设备、嵌入式设备上的 java应用程序,从JDK5.0开始,改名为JavaME.JDK组成:JDK包含的基本组件包括:①javac –编译器,将源程序转成字节码②jar –打包工具,将相关的类文件打包成一个文件③javadoc –文档生成器,从源码注释中提取文档④jdb –debugger,查错工具⑤ava–运行编译后的java程序(.class 后缀的)⑥appletviewer :小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。word⑦产生可以调用Java过程的C过程,或建立能被Java程序调用的C头过程的头文件。⑧Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。⑨Jconsole:Java 进行系统调试和监控的工具Jdk常用的package:①java.lang :这个是系统的基础类,比如 String 等都是这里面的,这个package是唯一一个可以不用 import就可以使用的Package.②java.io: 这里面是所有输入输出有关的类,比如文件操作等。③: 这里面是与网络有关的类,比如 URL,URLConnection等。④java.util: 这个是系统辅助类,特别是集合类 Collection,List,Map等。⑤java.sql: 这个是数据库操作的类,Connection, Statememt,ResultSet等。⑥javax.servlet: 这个是JSP,Servlet 等使用到的类。Eclipse3.2.0 工具:Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(JavaDevelopmentTools ,JDT)。虽然大多数用户很乐于将 Eclipse 当作JavaIDE 来使用,但Eclipse的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于Eclipse 的应用程序的突出例子是 IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。例如,WebSphereStudiowordApplicationDeveloper 添加了对JSP、servlet 、EJB、XML、Web服务和数据库访问的支持。
[1][6]二、程序语言的选择当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。Java语言其实最是诞生于 1991年,起初被称为 OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。 他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前, OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了 OAK的命运。在Java出现以前,Internet 上的信息内容都是一些乏味死板的 HTML文档。这对于那些迷恋于 WEB浏览的人们来说简直不可容忍。他们迫切希望能在 WEN中看到一些交互式的内容,开发人员也极希望能够在 WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,面 SUN的工程师敏锐地察觉到了这一点,从 1994年起,他们开始将 OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的 WEB开发人员都想到:噢,这正是我想要的。于是 Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。Java的开发环境有不同的版本,如sun公司的JavaDevelopersKit,简称JDK。后来微软公司推出了支持 Java规范的MicrosoftVisualJ++Java开发环境,简称 VJ++。Java的特点如下:①平台无关性,平台无关性是指 Java能运行于不同的平台。 Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的 Java接口之间。使 用Java编写的程序能在世界范围内共享。 Java的数据类型与 机器无关,Java虚拟机(JavaVirtual Machine)是建立在 硬件和操作系统之上,实现 Java二进制代码的解释执行功能,提供于不同平台的接口的。②安全性,Java的编程类似C++,学习过C++的读者将很快掌握 Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序 运行时,内存由操作系统分配,这样可以避免病毒通过指 针侵入系统。Java对程序提供了安全管理器,防止程序的 非法访问。word③面向对象,Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。 类的封装性、 继承性等有关对象的特性,使程序代码只需一次编译,然后 通过上述特性反复利用。程序员只需把主要精力用在类和接 口的设计和应用上。Java提供了众多的一般对象的类,通 过继承即可使用父类的方法。在 Java 中,类的继承关系是单一的非多重的,一个子类 只有一个父类,子类的父类又有一个父类。 Java提供的Object 类及其子类的继承关系如同一棵倒立的树形,根类 为Object 类,Object 类功能强大,经常会使用到它及其 它派生的子类。④分布式,Java建立在扩展TCP/IP网络平台上。库函数提供了用 HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。⑤键壮性,Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供:Null指针检测、数组边界检测、异常出口、Bytecode校验。Java提供了一个功能强大语言的所有功能, 但几乎没有一点含混特征。C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习。Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。Java去掉了以下几个C和C++功能:①指针运算②结构③typedefs④#define⑤需要释放内存,这将减少了平常出错的 50%。而且,Java很小,整个解释器只需215K的RAM。Java实现了C++的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。Java处理数据方式和用对象接口处理对象数据方式一样。我们知道,早先的 WWW仅可以传送文本和图片, Java的出现实现了互动的页面,是一次伟大的革命。Java并不是为Internet,WWW而设计的,它也可以用来编写独立的应用程序。Java是一种面向对象语言。Java语言类似于C++语言,所以已熟练掌握C++语言的编程人员,再学习Java语言就容易得多!Java程序需要编译。word实际上有两种Java 程序:一种Java 应用程序是一个完整的程序,如Web浏览器。一种Java 小应用程序是运行于 Web浏览器中的一个程序.Java程序和它的浏览器 HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音。你还能播放页面里的动画。 Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在 2400baud线上传输视频图象时,HotJava将能显示这些视频。当今Internet 的一大发展趋势是电子商务,而Internet 的安全问题是必须解决的问题,通常大的部门应设置防火墙,阻止非法侵入。电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能 与运行于不同平台的机器的全世界客户开展业务。 Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。Java程序被放置在Internet 服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。三、开发环境的介绍1、硬件环境
[4][6][9]AMDAthlon643000+,KingMaxPC3200512MB×2,GainwardNV35XTSeagateSATA8M120GB×22、软件环境操作系统:WindowsXP数据库:JavaDB开发环境:Eclipse3.2JDK1.6第三节 功能需求分析word基于Windows的局域网通讯程序系统功能如下:①简单明了的操作界面。②系统的操作界面能够适应对计算机知识掌握不同层次的人的操作习惯和需求。③能够给予不同权限的用户以简单明了的操作提示或者操作指引。④私聊,用户选择自己需要私聊的用户 IP,可以启动相互私聊功能。⑤根据需要,访问公共资源。第四节 企业内部通讯系统的设计原则一、实用行原则 :充分考虑到在企业内部通讯系统中中可能遇到的种种问题, 尽量全面的做好需求分析,以减少日后更新软件的次数。二、可行性原则 :提供广泛的涵盖用户多种需求的功能,数据处理方式灵活以满足需求,节省系统建设成本,并确保其较好的拓展性和开放性; 同时系统具有基于 JAVADB数据库的管理后台,能够自主的对企业内部通讯系统中大部分内容作更新、修改操作,提高了信息更新、传播效率。三、扩充性原则 :企业内部通讯系统的整体规划及设计是具可扩充性的, 前台界面的设计能保证系统在增加项目后不会破坏系统的整体结构。 后台数据库的设计具有高度的扩充性,能够根据需要对项目、类别的增、删、修改。word第五节 企业内部通讯系统未来设计目标与期望企业级内部通信系统能否记录所有的通信信息。企业级内部通信系统除了安全性的要求之外,决定企业是否应用即时通信系统的一条关键因素就是该系统是否具有强大的记录和审计功能。 企业级内部通信系统应能够记录所有的通信信息, 并能按其档案管理政策所要求的那样存档 , 具备搜索和审查功能 .这些信息对约束员工行为 , 提供商务决策的依据都是最有效的。 需要说明的是,对于即时通信系统所传递的电子信息是否具有法律效用 , 在法律界还存在着争议。对于企业记录所有人的通信信息的做法是否适当合理也还没有明确的法律规定。企业级内部通信系统是否提供优质的多媒体会议室。 多媒体会议室已经成为企业内部网中一个新的组成部分 , 也是企业级内部通信系统的一个关键组成部分。多媒体会议室是分享企业集体智慧的场所 , 也是各种问题能够得到即时解答的场所。支持创建功能强大、内容丰富的多媒体会议室,不仅扩大了内部通信交流的人数,而且能够把所有的通信内容记录下来,这样,即使在员工不在线的情况下,也可通过翻看记录寻找所需信息。群组通信、记录一切、知识管理,这就是即时通信系统支持创建多媒体会议室的意义。企业级内部通信系统能否与企业现有通讯体系整合。将企业级内部通信系统无间地整合到企业现有的通讯体系和信息系统中,可以让即时通信系统的功能发挥到最大,能给使用者带来更多的方便。如集成电子邮件的功能让用户收发电子邮件更加方便快捷,按企业组织结构分层级搜索特定人员的功能,能够像使用内部网那样通过即时通信系统查找相关人员 , 使该系统超越单纯的交流职能, 使其功能更广泛, 更适应企业的内部的商务流程。企业级内部通信系统是否能够拦截垃圾信息或免受病毒的侵害。 企业级内部通信的深入应用必然带来垃圾消息骚扰和病毒侵害。 所以,在系统的设计上要能有效的拦截垃圾消息,同时添加管理员,有效的检测病毒,防御攻击,为系统的正常运行保驾护航。[5][11][12]word第六节 本章小结本章概述了企业内部通讯系统的设计概况, 包括如下内容:设计模块的组成,有数据库设计、主窗体设计、公共类编写、系统托盘模块设计、系统工具模块设计、用户管理模块设计、通讯模块设计,企业内部通讯系统的数据库采用的是JavaDB数据库。主窗体界面是企业内部通讯系统的通讯列表,主窗体的设计实现也是本论文所要讲述的重点内容之一。公共类模块包括数据库操作类和系统公共类,其中数据库操作类中涉及的方法类有很多。系统托盘模块是用来定义系统图标的,系统工具模块专起维互系统的作用, 这两个模块的设计与实现将在后面章节做详细概述,用户信息模块包括了所有的用户信息,通讯模块用于不通职工之间的通讯。接下来从技术可行性、程序语言的选择、开发环境三方面分析了系统的可行性!其中在技术可行性中对 JavaSwing 技术、JavaDB数据库进行了详细阐述!而程序语言的选择中则对 java语言做了全面具体的分析。将java的特点一一列举出来,并与其他编程语言作了比较。开发环境分硬件与软件环境方便做了介绍。第三节对系统的功能需求做了简要分析。第四节提出了企业内部通讯系统的设计原则,包括实用性、可行性、括充性三个原则。最后一节对企业内部通讯系统额的未来设计目标与期望做了一个概述!word第三章 主窗体设计第一节 主窗体概述主窗体界面也是企业内部通讯系统的用户列表, 它由用户列表,公告提示,系统选项卡等组成。其中系统选项卡用于切换不同管理界面,包括系统工具和系统设计界面。主窗体包含用户信息头像,公告信息, 可以在系统设置管理界面中进行系统路径的设置,包括系统升级路径,系统公告路径以及系统程序路径的设置。用户列表包含当前可以通信的所有用户, 也就是整个局域网中你所添加的用户[3][4]信息。在主窗体的最下方有一个状态栏,它提示现在的总人数。 主窗体的运行效果如下图所示:图3.1主窗体画面word第二节 如何创建主窗体一、创建 EQ类在类中创建窗体对象,为窗体添加选项卡面板,并添加用户列表,系统工具,系统设置三个选项卡和状态栏,标签,公共按钮等属性。关键代码如下:publicclassEQextendsDialog{privateJTextFieldipEndTField;privateJTextFieldipStartTField;privateJTextFielduserNameTField;privateJPasswordFieldpasswordTField;privateJTextFieldplacardPathTField;privateJTextFieldupdatePathTField;privateJTextFieldpubPathTField;publicstaticEQframe=null;privateChatTreechatTree;privateJPopupMenupopupMenu;privateJTabbedPanetabbedPane;privateJToggleButtonsearchUserButton;privateJProgressBarprogressBar;privateJListfaceList;privateJButtonselectInterfaceOKButton;privateDatagramSocketss;privatefinalJLabelstateLabel;privatestaticStringuser_dir;privatestaticFilelocalFile;privatestaticFilenetFile;privateStringnetFilePath;privateJButtonmessageAlertButton;privateStack<String>messageStack;wordprivateImageIconmessageAlertIcon;privateImageIconmessageAlertNullIcon;privateRectanglelocation;publicstaticTrayIcontrayicon;privateDaodao;publicfinalstaticPreferencespreferences=PreferencessystemRoot();;.privateJButtonuserInfoButton;二、在构造方法中的相关操作初始化窗体上的控件,数据库操作类,首选项,另外还要为窗体添加事件,监听器。关键代码如下:publicEQ(){super(newFrame());frame=this;dao=Dao.getDao();location=dao.getLocation();setTitle("EQ通讯");setBounds(location);progressBar=newJProgressBar();progressBar.setBorder(newBevelBorder(BevelBorder.LOWERED));tabbedPane=newJTabbedPane();popupMenu=newJPopupMenu();chatTree=newChatTree(this);user_dir=System.getProperty("user.dir");//程序执行路径用于系统更新localFile=newFile(user_dir+File.separator+"EQ.jar");//本地EQ文件stateLabel=newJLabel();//状态栏标签addWindowListener(newFrameWindowListener());//添加窗体监视器{//初始化公共信息按钮messageAlertIcon=newImageIcon(EQ.classword.getResource("/image/messageAlert.gif"));messageAlertNullIcon=newImageIcon(EQ.class.getResource("/image/messageAlertNull20.gif"));messageStack=newStack<String>();messageAlertButton=newJButton();messageAlertButton.setHorizontalAlignment(SwingConstants.RIGHT);messageAlertButton.setContentAreaFilled(false);finalJPanelBannerPanel=newJPanel();BannerPanel.setLayout(newBorderLayout());add(BannerPanel,BorderLayoutNORTH);.userInfoButton=newJButton();BannerPanel.add(userInfoButton,BorderLayout.WEST);userInfoButton.setMargin(newInsets(0,0,0,10));initUserInfoButton();//初始化本地用户头像按钮BannerPanel.add(messageAlertButton,BorderLayout.CENTER);messageAlertButton.addActionListener(newActionListener(){publicvoidactionPerformed(finalActionEvente){if(!messageStack.empty()){showMessageDialog(messageStack.pop());}}});messageAlertButton.setIcon(messageAlertIcon);showMessageBar();}add(tabbedPane,BorderLayout.CENTER);tabbedPane.setTabPlacement(SwingConstantsLEFT.);ImageIconuserTicon=newImageIcon(EQ.class.getResource("/image/tabIcon/tabLeft.PNG"));tabbedPane.addTab(null,userTicon,createUserList(),"用户列表");ImageIconsysOTicon=newImageIcon(EQ.class.getResource("/image/tabIcon/tabLeft2.PNG"));wordtabbedPane.addTab(null,sysOTicon,createSysToolPanel(),"系统操作");ImageIconsysSTicon=newImageIcon(EQ.class.getResource("/image/tabIcon/tabLeft3.png"));tabbedPane.addTab(null,sysSTicon,createSysSetPanel(),"系统设置");setAlwaysOnTop(true);}三、初始化 Socket服务器指定端口使用1111,如果初始化失败,将提示用户服务器端口被占用, 或者是本软件已经开始运行,并退出程序,这个部骤很关键,它用于接收其它用户发送的通讯信息,如果启动失败,将无法接受信息,所以必须退出系统。代码的实现如下:try{//启动通讯服务端口=newDatagramSocket(1111);}catch(SocketExceptione2){if(e2.getMessage().startsWith("Addressalreadyinuse"))showMessageDialog("服务端口被占用,或者本软件已经运行。");System.exit(0);}四、编写检测公告信息的方法该方法用于检测系统的公告信息,当公告路径中存在公告信息时,该方法将从公告文件中获取完整的信息,然后调用 pushMesssage方法将通告信息压入公告信息站中,该方法首先获取用户设置的公告路径,如果没有设置公告路径,公告的第一个提示信息就是未设置公告路径,如果设置了公告路径,我们讲创建公告文件对象,然后判断公告文件是否存在,并读取公告文件的内容,然后将公告信息压入堆栈,如果文件不存在,将提示用户公告路径错误或者公告文件不存在。关键代码如下:wordprivatevoidcheckPlacard(){//检测公告信息方法StringplacardDir=preferences.get("placardPath",null);if(placardDir==null){pushMessage("未设置公告路径");return;}Fileplacard=newFile(placardDir);try{if(placard.exists()&&placard.isFile()){StringBuilderplacardStr=newStringBuilder();Scannersc=newScanner(newFileInputStream(placard));while(sc.hasNextLine()){placardStr.append(sc.nextLine());}pushMessage(placardStr.toString());}}catch(FileNotFoundExceptione){pushMessage("公告路径错误,或公告文件不存在 ");}}五、编写初始化用户信息按钮的方法用户信息按钮也就是主窗体左上角的用户信息头像, 该方法用于初始化本地用户信息,并在主窗体左上角显示本地用户的头像和名称,在用户更改本地用户名称时,它会同步更新,该方法首先获取本地 IP地址,然后从数据库中获取用户对象,然后分别设置提示文本以及用户的头像信息,用户的姓名。关键代码如下:privatevoidinitUserInfoButton(){//初始化用户信息按钮try{Stringip=InetAddress.getLocalHost().getHostAddress();Useruser=dao.getUser(ip);worduserInfoButton.setIcon(user.getIconImg());userInfoButton.setText(user.getName());userInfoButton.setIconTextGap(JLabelRIGHT);.userInfoButton.setToolTipText(user.getTipText());userInfoButton.getParent().doLayout();}catch(UnknownHostExceptione1){e1.printStackTrace();}}六、编写应用程序的入口方法也就是main方法,在该方法中,首先获取用户设置的界面外观,企业内部通信系统可以设置的外观包括当前系统和 JAVA默认两种外观,然后调用UIManager类的SystemLookandFeel方法设置指定的外观并生成主窗体对象,最后初始化服务器端口。代码的实现如下:publicstaticvoidmain(Stringargs[]){try{Stringlaf=preferences.get("lookAndFeel","java默认");if(laf.indexOf("当前系统")>-1)UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());EQframe=newEQ();frame.setVisible(true);frame.SystemTrayInitial();//初始化系统栏frame.server();frame.checkPlacard();}catch(Exceptione){e.printStackTrace();}}word第三节 记录窗体位置一、怎样为窗体添加事件监听器在构造方法中为窗体添加控件监听器,当窗体改变大小或者移动位置时,调用savaLocation 方法将窗体的当前位置和大小保存到数据库中,该方法在当前窗体改变大小的时候就被调用,相应的 componentNoved方法在窗体改变位置的时候被调用,这两个方法都将执行 savaLocation 方法,将窗体位置和大小的改变保存到数据库中。代码的实现如下:addComponentListener(newComponentAdapter(){publicvoidcomponentResized(finalComponentEvente){saveLocation();}publicvoidcomponentMoved(finalComponentEvente){saveLocation();}});二、编写 savaLocation 方法该方法将调用dao数据库操作类的 updatelocation 方法,将窗体位置和窗体大小保存到数据库中,方法的实现首先调用该方法获取窗体的当前位置和大小,然后调用updatelocation方法,将数据保存到数据库中。代码的实现如下:privatevoidsaveLocation(){//保存主窗体位置的方法location=getBounds();dao.updateLocation(location);}word第四节 本章小结本章是全文的重点章节之一,它围绕着企业内部通讯系统的主要设计模块之一的主窗体,对主窗体的定义、包含内容,以及运行效果都做了相关概述,并对主窗体的创建、怎样记录窗体位置进行了详细的步骤说明。主窗体界面由用户列表、公告提示、系统选项卡等组成,主窗体包含用户信息头像、公告信息,在系统设置管理界面中可以进行系统升级路径,系统公告路径以及系统程序路径的设置,用户列表中包含了整个局域网中你所添加的用户信息。创建主窗体分为以下几步:1、创建EQ类。2、在构照方法中初始化窗体上的控件,数据库操作类,首选项,另外还要为窗体添加事件,监听器。3、初始化Socket服务器。4、编写检测公告信息的方法。 5、编写初始化用户信息按钮的方法。6、编写应用程序的入口方法。记录窗体位置分为以下几步:1、为窗体添加事件监听器。2、编写savaLocation方法。每一步骤中间都附有相关的代码,使我们对主窗体的设计过程了解得更具体。word第四章 系统托板模块设计第一节 系统托盘模块的简述用于定义系统托板图标,企业内部通讯系统的主窗体是继承对话框体编写的,该窗体在系统任务栏不会显示相应的任务标题,如果主窗体最小化之后将[8][11]会隐藏,这时必须使用快捷键或系统托盘中的图标执行显示窗体的命令。第二节 系统托盘模块的具体现实过程一、编写 SystemTrayInitial 方法该方法用于初始化系统托盘,在方法中,初始化系统托盘中的提示文本,系统栏图标,然后调用 createMenu方法,为系统栏图标创建弹出式菜单,同时为系统栏图标添加 csostrayActionListener 类实现监听器。实现代码如下:privatevoidSystemTrayInitial(){//系统栏初始化if(!SystemTray.isSupported())//判断当前系统是否支持系统栏return;try{Stringtitle="EQ通讯软件";Stringcompany="—EQ通讯—";SystemTraysysTray=SystemTraygetSystemTray();.Imageimage=Toolkit.getDefaultToolkit().getImage(EQ.class.getResource("/icons/sysTray.png"));//系统栏图标wordtrayicon=newTrayIcon(image,title+"\n"+company,createMenu());trayicon.setImageAutoSize(true);trayicon.addActionListener(newSysTrayActionListener());sysTray.add(trayicon);trayicon.displayMessage(title,company,MessageTypeINFO);.}catch(Exceptione){e.printStackTrace();}}二、编写 createMenu方法该方法用于创建系统栏图标的弹出式菜单, 该菜单包括打开访问服务器和退出三个菜单项和菜单项的分隔符,当用户单击打开菜单项时,讲显示企业内部通讯系统的主窗体,当用户选择访问服务器菜单项时,将打开公共程序资源,另外主窗体没有提供退出功能,单击主窗体右上角的关闭按钮时,执行的是最小化操作,所以只能使用退出菜单项来完成程序的退出功能。 代码的实现如下:privatePopupMenucreateMenu(){//创建系统栏菜单的方法PopupMenumenu=newPopupMenu();MenuItemexitItem=newMenuItem("退出");exitItem.addActionListener(newActionListener(){//系统栏退出事件publicvoidactionPerformed(ActionEvente){System.exit(0);}});MenuItemopenItem=newMenuItem("打开");openItem.addActionListener(newActionListener(){//系统栏打开菜单项事件publicvoidactionPerformed(ActionEvente){if(!isVisible()){setVisible(true);wordtoFront();}elsetoFront();}});//系统栏的访问服务器菜单项事件MenuItempublicItem=newMenuItem("访问服务器");publicItem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){StringserverPaeh=preferences.get("pubPath",null);if(serverPaeh==null){pushMessage("未设置公共程序路径");return;}ResourcestartFolder(serverPaeh);.}});menu.add(publicItem);menu.add(openItem);menu.addSeparator();menu.add(exitItem);returnmenu;}三、创建 SystrayActionListener 类它实现了ActionListener 结构,是系统栏图标的双击事件监听器,在用户双击系统栏图标后,该监听器将实现出双击的显示,实现的原理是通过调用setVisible 方法来实现窗体的显示。代码的实现如下:classSysTrayActionListenerimplementsActionListener{//系统栏双击事件publicvoidactionPerformed(ActionEvente){wordsetVisible(true);toFront();}}}第三节 本章小结本章是继主窗体之后,全文的又一重点章节之一,系统托盘模块其实就是当主窗体最小化隐藏之后应用系统托盘中的图标来显示窗体的命令。 本章节对系统托盘模块的具体实现过程分三步做了详细概述:1、编写SystemTrayInitial 方法,该方法用于初始化系统托盘。 2、编写createMenu方法,该方法用于创建系统栏图标的弹出式菜单。3、创建SystrayActionListener 类,它实现了ActionListener 结构,是系统栏图标的双击事件监听器。每一步中间都附有相应的代码,认真看过之后不难理解系统托盘是怎样现实的!word第五章 系统工具模块的设计第一节 系统工具模块的简述企业内部通讯系统的系统模块起到维护系统的作用,它包括用户搜索、更改程序外观、系统升级三个功能。在企业内部通讯系统第一次运行时,用户搜索功能可以搜索内部网络中的所有正在运行的计算机, 并使用计算机的信息创建用户对象,然后将该用户对象保存到数据库中。在企业内部通讯系统有新版本程序时,可以使用系统升级直接升级到最新版本,而不用重新安装。第二节 系统工具模块的实现过程一、编写 createSysToolPanel 方法
[3][7]该方法用于创建系统工具选项卡,在该选项卡中包含界面选择,用户搜索
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医院门诊部工作计划(3篇)
- 2026年大数据培训教育合作协议
- 2026年AI加盟SaaS 服务协议
- 2026年咨询顾问安全生产培训协议
- 预警中心工作制度汇编
- 领导休假协助工作制度
- 领导干部调研工作制度
- 风貌业态联审工作制度
- 食品安全标准工作制度
- 黄岛城管梯次工作制度
- 贫富分化课件
- 公墓陵园墓区绿化养护及卫生打扫服务 投标方案(技术方案)
- 《中华人民共和国安全生产法》知识培训
- GB/T 44233.2-2024蓄电池和蓄电池组安装的安全要求第2部分:固定型电池
- 2024年五年级英语下册 Unit 4 What's wrong with you Revision教案 人教精通版(三起)
- 敦煌文化之旅智慧树知到期末考试答案章节答案2024年杭州师范大学
- 【S医药公司销售人员招聘体系优化探究开题报告文献综述9800字】
- T-CSEM 0024-2024 智慧消防 火灾防控系统建设要求
- 动脉取栓术后护理查房课件
- 《电机原理及拖动(第3版)》彭鸿才(习题与思考题解答)
- 朱自清:桨声灯影里的秦淮河课件
评论
0/150
提交评论