




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学科分类号 0810 本科学生毕业论文(设计)题目 (中文):基于Swing的企业快信系统的设计与实现 (英文):The Design and Implement of Business Express Mail Systems Based on Swing 姓 名徐秋月学 号200908002244 院 (系)计算机与通信工程系 专业、年级通信工程 2009级 指 导 老 师蒋亚军(教授) 黄丽韶 (硕士) 2013年 4 月 23 日湖南科技学院本科毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业论文(设计)作者签名: 二 年 月 日基于Swing的企业快信系统的设计与实现摘 要 随着计算机和网络技术的迅猛发展和推广应用,短信和E-mail已经成为人与人之间沟通的桥梁。网络通讯作为通讯的一种形式正以其高效率,低成本,逐步成为企业的新宠,人们已经不再满足集团网和邮箱分别进行使用,而是希望能将他们进行一体化,从而能够享受网络所带来的更多便利。本文以企业短信系统的设计与实现为基线,分析了C/S和B/S构架的特点,选用JAVA平台,使用Swing和短信猫进行系统的实现。在深入研究JAVA平台下数据库存取的各种机制后,根据企业快信自身的特点,采用MySQL为数据平台,Apache6.0网络信息服务作为应用服务器。为提高效率,性能,安全,并达到三者的平衡,采用合理的机制实现了企业快信系统,实践表明,文中描述的设计和实现方法是合理的,切实可行的。【关键词】 企业快信;Java;Swing;MySQL数据库IVThe Design and Implement of Business Express Mail Systems Based on SwingAbstractWith the rapid development, popularization and application of computer and network technology, SMS and E-mail has become a bridge of communication between people. The network communication as a form of communication is high efficiency, low cost, and gradually become the latest must-haves in the enterprise, people no longer content group separately using network and email, but hope to be able to integrate, so that they can enjoy the network brings more convenient.This Paper is based on enterprise messaging system design and implementation for the baseline, analyzed the characteristics of C/S and B/S architecture, choose the JAVA platform, use the Swing and SMS cat for the realization of the system. Further research to access a variety of mechanisms of the database which about JAVA platform , and According to the characteristics of the express company, using MySQL as the data platform, Apache6.0 network information services as the application server. In order to improve the efficiency, performance, safety, and achieve the balance of the three, companies express system was realized using the reasonable mechanism. Practice shows that in this paper , we describe the design and implementation of the method is reasonable and feasible.【Key words】 Business Express Mail Systems;Java;Swing;MySQL Database 目 录1 绪论11.1 企业快信概述11.2 本论文工作22 相关原理与技术32.1 系统的基本技术及原理32.1.1 系统的基本技术32.1.2 系统的基本原理32.2 系统运行环境配置42.2.1 Eclipse的安装配置42.2.2 短信猫及Java Mail开发环境的建立52.2.3 数据库MySQL的安装63 系统的设计与实现73.1 系统分析73.1.1 用户需求分析73.1.2 可行性分析8(1)经济可行性8(2)技术可行性83.1.3 系统目标83.2 数据库设计与实现93.2.1 数据库分析93.2.2 数据库中表的设计103.2.3 数据库连接与封装11(1)编写数据库连接类11(2)封装常用的操作数据库的方法123.3 登录界面的设计与实现133.3.1 登录页面设计133.3.2 登录页面实现143.4 窗体的设计与实现153.4.1 主窗体设计153.4.2 主窗体实现153.5 资源管理模块设计与实现183.5.1 名片夹管理功能183.5.2 发送短信模块设计193.5.3 发送邮件模块设计203.5.4 系统设置模块设计213.6 文件夹组织结构224 系统测试244.1 软件测试244.2 测试目的及结果说明245 总结与展望295.1 总结295.2 展望29参考文献30致 谢31附录A321 绪论 随着互联网的迅速发展,短信和E-mail已经成为人与人之间沟通的桥梁,越来越多的人喜欢选择通过网络进行即时沟通。为此,越来越多的网站开始提供发送E-mail以及收发手机短信的功能,于此同时,短信和E-mail也以其快捷、无时空限制、低成本等优势受到众多企业的青睐,成为企业移动商务的主流应用方式。1.1 企业快信概述目前,网络正以一种前所未有的冲击力在影响着人们的生活,不仅包括人们的日常生活,还包括生产。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大的改变了人类的通信方式。在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道。然而,不仅网络在迅速的发展,手机的市场所占的比重也越来越大,特别是随着手机短信的广泛使用,手机短信业务带来了巨大经济效益,并且短信的用途也越来越广泛。而短信服务市场的火爆,让许多人始料未及,预示着短信的巨大市场空间。短信(Short Message Service,SMS)是手机通过移动网进行个人简易数据通信的一种方式,具有覆盖范围广、双向寻呼、使用经济、可缓存处理等优点,满足了人们爆炸性增长的信息需求,使人们可以以低廉的价格、便捷的方式,随时随地得到充满个性化的信息,是无限通信在20世纪末所做的一次重要飞跃。这使得移动网络不仅可以传送音频,也可以传送数据,而数据传输是互联网技术的根本。在国外,短信业务占移动运营商收入的很大比例。国内移动通信在保持较高增长速度的同时,数据业务正在成为运营商的重要收入来源,几大电信公司不约而同地把目光盯住了手机短信。而是什么导致了这样的现象?大家都了解,现在绝大多数的企业通知不是以邮件群发就是短信群发,这样的情况不只是在企业内部,企业与企业间也存在。因此,如何最大程度的利用现有网络,挖掘网络潜力,方便灵活的开展增值业务,拓展网络应用服务领域,满足企业的沟通需求成为各企业所考虑的事件之一。毕竟,在企业信息化的今天,效率决定成败。企业内外部沟通的及时性将直接影响企业的运作效率。现在多数企业的办公自动化系统(即OA)的信息传递仅限于计算机内部网络,如果用户不在线,将无法知道是否有新的工作或紧急通知,为了确认是否有待办工作,不得不经常去访问OA,检索是否有新任务,而事实上这种检索的结果经常是徒劳。这样一来,不仅造成了机器资源的浪费,也造成了人力资源的浪费,因此急需一套成型的企业快信系统解决上述问题因此,短信和E-mail以其快捷、无时空限制、低成本等优势受到众多企业的亲睐,成为企业移动商务的主流应用方式。于是采用时下受欢迎的语言Java和相关开发工具,将B/S和C/S相结合1,开发企业快信系统。1.2 本论文工作企业快信的作用是帮助企业解决企业内部、企业与外部沟通难、信息不能及时传播等问题。为此,企业快信系统需要提供有邮件群发、短信群发等功能。在探讨Java相关开发技术,以及短信猫的基础上,以客观需要为基准而开发企业快信系统。开发工程中所做的工作包括:整个系统的需求分析、系统设计和所有模块的具体实现、系统测试2及用户手册。22 相关原理与技术 2.1 系统的基本技术及原理2.1.1 系统的基本技术本系统所采用的编程语言为Java,编程的方法是Swing3。Swing是一个为Java设计的GUI工具包。Swing是Java基础的一部分。Swing包括了图形用户界面(Graphical User Interface,GUI)。同时也使用了短信猫,短信猫又名GSM Modem,专门针对短信语言设计,内含工业级短信发送模块,简化了通信接口,性能稳定可靠。另外还使用了Java Mail组件。Java Mail是Sun公司发布用来处理E-mail的API,是一种可选的、用于读取、编写和发送电子消息的包。2.1.2 系统的基本原理Swing是基于Java的跨平台MVC框架,使用的是单线程模式。此框架还在代码结构层和图形渲染层之间插入了一个抽象层。其具有可定制性和可配置性。可定制性Swing提供了可编程渲染模型,使用户可以对渲染细节进行控制。一般看来,Swing组件的视觉效果是一些通用元素的组合,比如外框、边距、窗口装饰等。典型的情况是,用户通过编写代码,指定边框、颜色、背景、透明度等属性来定制一种通用Swing组件(如JTable)。核心组件则会用这些定制的属性来进行绘制。此外,也完全可以指定出非常特殊的GUI控件或高度自定义的视觉效果。可配置性Swing高度基于运行时的机制以及其间接的组合模式使得它可以在运行时响应对其底层设置的改变。例如,一个Swing的应用程序能在运行时动态地改变界面。此外,用户还能随时应用他们自己的Look And Feel。Look And Feel 能够统一地改变当前程序的组件外观,而不用修改任何代码。同抽象窗口工具包(Abstract Windowing Toolkit,AWT)2的关系Java的早期版本以来,抽象视窗工具包为用户界面组件提供了平台独立的API。在AWT中,每个组件都由一个原生的等同组件生产和控制,这个原生组件是由当前的图形视窗系统决定的。于此相对,Swing组件经常被描述为轻量级的,因为它们不需要操作系统本身所带视窗工具包的原生资源来形成。Swing API的大部分是AWT的补充扩展而不是直接代替。Swing用来绘制轻量级组件的核心渲染功能是由Java2D提供的,这是AWT的一部分。然而,轻量级和重量级组件在同一个应用中使用会导致Z-order不兼容。同SWT的关系3标准器件工具包(Standard Widget Toolkit,SWT)是一个最初由IBM开发的工具包,现在由Eclipse基金会维护。SWT的实现同重量级的组件AWT有更多的共同之处。这样的好处是运行开销同所在平台的原生视窗工具包更为接近。SWT的到来使得Java桌面的开发者们分离为SWT的支持者和Swing的支持者。在6.0版Java中,Swing的新修补专注于同原生视窗平台的逼真度,这可能会直接解决这个问题。2.2 系统运行环境配置2.2.1 Eclipse的安装配置Eclipse的安装需准备的工具3:jdk: jdk-1_6_0_05-windows-i586-p.exeeclipse:eclipse-SDK-3.1.2-win32.ziptomcat:jakarta-tomcat-6.0.33.exetomcat插件:tomcatPluginV31.zip一、eclipse的安装将eclipse解压缩到目的文件夹,然后可以启动eclipse.exe。二、jdk的安装jdk的安装只需要根据提示安装就可以了。中途你可以选择自己喜欢的安装路径,安装之后,会有一个jdk1.5.0_05和一个jre1.5.0_05文件夹。然后开始设置环境变量,右键我的电脑属性高级环境变量。在这里你可以选在在系统变量中添加,这样这台机器上的所有用户都可以使用这个环境变量。添加CLASSPATH: .;D:LibraryJdklibtools.jar;D:LibraryJdklibdt.jar(注意,在最前面有一个“.”,不要忘记了)。添加JAVA_HOME: D:LibraryJdklib。 三、tomcat的安装按照安装提示进行安装就可以了, 中途可以选择端口(默认是8080,你可以改成80),这样在以后输入地址的时候比较方便。但是80端口比较容易发生冲突。所以这里就不用改了(安装之后在配置文件中也可以重新设置端口号,请查阅相关资料)。在环境变量中添加:CATALINA_HOME:D:apache-tomcat-6.0.33, TOMCAT_HOME:D:apache-tomcat-6.0.33。在CLASSPATH中添加:D:apache-tomcat-6.0.33commonlibservlet-api.jar在所有这一切做完之后,打开你的浏览器,输入 http:/localhost:8080 就会看到apache页面。四、tomcat插件的安装关闭eclipse,将tomcatPluginV31.zip解压缩,将解压缩的到的文件夹com.sysdeo.eclipse.tomcat_3.1.0拷贝到D:Libraryeclipseplugins里面。重新打开eclipse,然后在window-prefereces中的左侧找到java-Installed JREs,选中jdk1.5.0_05。然后在左侧找到tomcat,选择6.x版本,在tomcat根目录中,输入TOMCAT_HOME中的地址:D:apache-tomcat-6.0.33。在tomcat-advanced中,在tomcat base路径一栏中,同样输入D:apache-tomcat-6.0.33。2.2.2 短信猫及Java Mail开发环境的建立由于本系统中需要使用短信猫及Java Mail组件4,以下介绍如何配置短信猫及Java Mail的开发坏境。建立短信猫的开发环境:在使用短信猫时,首先要将短信猫安装到使用的计算机上,并接通电源,然后将短信猫提供的通信动态库BestMail.dll复制到JDK安装路径下的jrebin文件夹下(例如C:jdk1.6.0_03jrebin),最后将封装的Java类库BestMail.jar添加到工程的构建路径中。建立Java Mail的开发环境:由于目前Java Mail还没有被加在标准的Java开发工具中,所以在使用前必须下载Java Mail API,以及Sun公司的JAP(JavaBeans Activation Framework),Java Mail的运行必须信赖与JAF的支持。下载并构建Java Mail API:Java Mail API是发送和接收E-mail的核心API,可以到网址/products/javamail/downloads/inddex.html下载,目前最新版的文件名为javamail-1_4.zip。下载后解压缩到硬盘上,并在系统的环境变量CLASSPATH中指定activation.jar文件的放置路径。例如,将mail.jar文件复制到“C:JavaMail”文件夹中,可以在环境变量CLASSPATH中添加以下代码:C:JavaMailmail.jar;如果不想更改环境变量,也可以把mail.jar添加到工程的构建路径中。下载并构建JAF:目前Java Mail API的所有版本都需要JAF(JavaBeans Activation Framework)的支持。JAF为输入的任意数据块提供了支持,并能相应地对其进行处理。JAF可以到/products/javabeans/jaf/downloads/index.html下载,当前最新版本的JAF文件名为jaf-1_1-fr.zip,下载后解压缩到硬盘上,并在系统的环境变量CLASSPATH中指定activation.jar文件的放置路径。例如,将activation.jar文件复制到“C:JavaMail”文件夹中,可以在环境变量CLASSPATH中添加以下代码:C:JavaMailctivation.jar;如果不想改变环境变量,也可以把activation.jar添加到工程的构建路径中。2.2.3 数据库MySQL的安装Java开发的web网站能够支持市面上的大多数数据库5,如 MySQL、Access、SQL Server、Oracle,DB2等,而MySQL数据库是Java程序开发人员公认的黄金时间搭档,这不仅因为MySQL是完全网络化的跨平台关系型数据库系统,也是具有B/S体系结构的分布式数据库管理系统。 使用 mysql-5.0.19-win32 版本, MySQL的安装:解压“mysql-5.0.19-win32.zip”,双击“Setup.exe”,开始MySQL 的安装。安装过程注意事项:MySQL的端口(默认:3306);MySQL字符集的设置,在字符集选择时选择“utf-8”;使用默认用户名“root”,密码可随意进行设置。3 系统的设计与实现3.1 系统分析3.1.1 用户需求分析根据需求调查,将企业快信分为名片夹管理、信息库管理、邮件群发、系统参数设置、系统设置6个部分,其中各个部分及其包括的具体功能模块如图3-1所示。图3-1 系统功能结构企业快信的系统流程图如图3-2所示。 图3-2系统流程图3.1.2 可行性分析开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受任何一个项目开发任务之前,必须根据客户可能提供的时间和资源条件进行可行性分析,以减少项目开发风险,避免人力、物力和财力的浪费。可行性分析与风险分析在很多方面是相互关联的,项目风险越大,开发高质量的软件的可行性就越小。(1)经济可行性采用短信作为企业的移动通信手段,将给企业对内、对外进行信息传递与沟通带来革命性的变化,从而使得移动办公、客户服务、员工沟通等运作效率显著提升,而成本则显著下降。值得说明的是,虽然短信有以上优点,但它还是有一定的不足,例如信息内容单一和受到字数限制等。为解决这一问题,在企业快信中提供了邮件群发功能。提供邮件进行沟通也是目前比较流行的方式,它也具备实用、方便和廉价等优点。(2)技术可行性开发一个企业快信系统,涉及到的技术问题不会太多,主要用到的技术就是使用短信猫和Java Mail组件来实现收发短信和群发邮件等功能。由于采用北京人大金仓信息技术有限公司开发的短信猫,并且该公司也提供了相应的应用程序开发包,所以为程序的开发提供了便利的条件。同时,Java Mail组件是Sun公司发布的一种用于读取、编写和发送电子邮件的包,利用它可以方便地实现邮件群发。3.1.3 系统目标根据前面所做的需求分析及用户的需求可知,企业快信属于小型的企业通信软件,在系统实施后,将达到以下目标: 界面设计友好、美观。 操作灵活、方便 提供功能强大的信息库管理,方便用户进行短消息的编写。 提供邮件群发功能,提高工作效率。 在发短信时可以直接从现有信息库中获取信息内容。 对用户输入的数据,进行严格的数据检验,尽可能地避免人为错误。 数据存储安全、可靠。3.2 数据库设计与实现3.2.1 数据库分析由于本系统是一个小型实用的信息群发系统,提供了名片夹和信息库的功能,用户可以将常用的人员保存到名片夹中,将常用的短语保存到信息库中,以方便使用。基于这个特点以及语言特点,本系统将采用MySQL作为底层数据库,以方便用户使用本系统。据分析,本系统中使用的数据库实体为类型实体、档案实体和常用短语实体三部分。档案实体包括编号、类型、姓名、性别、出生日期、公司、部门、职位、移动电话和E-mail,档案实体的E-R图如3-3所示。出生日期性别类型编号姓名档案E-mail移动电话部门公司职位图3-3 档案实体E-R图常用短语实体包括编号、类型和内容,常用短语实体的E-R图如图3-4所示常用短语内容类型编号图3-4 常用短语实体E-R图类型实体包括编号、名称和使用者(即用于档案实体还是用于常用短语实体),类型实体的E-R图如图3-5所示。类型使用者名称编号图3-5 类型实体E-R图3.2.2 数据库中表的设计档案实体、常用语实体和类型实体这些实体对象是数据表结构的基本模型6,最终的数据模型都要实施到数据库中,形成整体的数据结构。表tb_personnel的表结构如表3.1所示。表3.1 表tb_personnel的表结构序 号列 名类 型允 许 空主 键外 键1Numint否是2type_idint否是3Namevarchar(8)否4Sexvhar(2)否5Birthdaydate否6Companyvarchar(50)否7Deptvarchar(40)否8Dutyvarchar(50)否9Handestvarchar(15)否10Emailvarchar(45)否表tb_info的表结构如表3.2所示。表3.2 表tb_info的表结构序 号列 名类 型允 许 空主 键外 键1numint否是2type_idint否是3namevarchar(500)否表tb_type的表结构如表3.3所示。表3.3 表tb_type的表结构序 号列 名类 型允 许 空主 键外 键1Idint否是2Namevarchar(20)否3Userchar(4)否完成数据建模后,还可以根据实际需要,建立一些视图,通过对视图的应用,可以减少程序编写中SQL语句5。通过视图可以直接根据类型查询档案或信息,将给系统带来很大的方便。表tb_personnel和表tb_type建立的视图v_personnel_type的结构如表3.4所示。表3.4 视图v_personnel_type的结构序 号列 名所 属 表1Numtb_personnel2type_nametb_personnel3Nametb_type4Sextb_personnel5Birthdaytb_personnel6Companytb_personnel7Depttb_personnel8Dutytb_personnel9Handsettb_personnel10Emailtb_personnel表tb_info和表tb_type建立的视图v_info_type的结构如表3.5所示表3.5 视图v_info_type的结构序 号列 名所 属 表1Numtb_info2type_nametb_type3Nametb_info3.2.3 数据库连接与封装(1)编写数据库连接类数据库连接类7负责加载数据库驱动程序,以及创建和关闭数据库连接。为了最大程度地应用每个以及创建的数据库连接,将其保存到ThreadLocal类的对象中。如果数据库不存在,还负责建立数据库。然后编写用来加载数据库驱动程序的代码,并且判断数据库文件是否已经存在,如何不存在,还要创建数据库。通常情况下将其放到静态代码中,这样做的好处是只在该类第一次被加载(即第一次被调用)时执行加载数据库驱动程序以及创建数据库的动作,避免了反复加载数据库驱动程序,或者是反复判断数据库是否已经存在,从而提高软件的性能。最后编写用来创建和关闭数据库连接的方法。这里将这两个方法均定义为静态的,这样通过类名就可以调用方法,方便使用。在这两个方法中首先从ThreadLocal类的对象中获得数据库连接,然后判断是否存在可用的数据连接,如果存在则直接返回或关闭,否则重新创建。(2)封装常用的操作数据库的方法对数据库的操作包括查询、添加、修改和删除,其中查询是通过executeQuery(String sql)方法执行SQL语句的,添加、修改和删除是通过executeUpdate(String sql)方法执行SQL语句的。在本系统中共提供了4个用来执行查询的方法,分别用来查询多个记录、查询指定记录、查询多个记录的指定值和查询指定记录的指定值,1个用来添加、修改和删除记录的方法。下面的方法用来查询多个记录:protected Vector selectSomeNote(String sql) Vector vector = new Vector();Connection conn = JDBC.getConnection();try Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);int columnCount = rs.getMetaData().getColumnCount();int row = 1;while (rs.next() Vector rowV = new Vector();rowV.add(new Integer(row+);for (int column = 1; column = columnCount; column+) rowV.add(rs.getObject(column);vector.add(rowV);rs.close();stmt.close(); catch (SQLException e) e.printStackTrace();return vector;下面的方法用来添加、修改和删除记录,这里采用手动提交,目的是捕获持久异常,并回滚数据库,以保证数据库的合法性7。具体代码如下:public boolean longHaul(String sql) boolean isLongHaul = true;Connection conn = JDBC.getConnection();try conn.setAutoCommit(false);Statement stmt = conn.createStatement();stmt.executeUpdate(sql);stmt.close();mit(); catch (SQLException e) isLongHaul = false;try conn.rollback(); catch (SQLException e1) e1.printStackTrace();e.printStackTrace();return isLongHaul;3.3 登录界面的设计与实现3.3.1 登录页面设计对一个软件的应用,首先面对我们的是登录页面,该界面不需要有多大,但要简单大方,为了安全以及工作需要,对登录该系统是有检测8的。其界面如图3-6所示。图3-6 登录界面3.3.2 登录页面实现在界面中包含“登录”、“重置”和“退出”3个按钮,其中“登录”按钮具有验证功能,“重置”按钮将对登录用户进行清空,而“退出”按钮则将退出本系统。实现界面的关键代码如下:登录验证:Vector user = dao.sUserByName(username);String freeze = user.get(6).toString();String password = user.get(5).toString();if (inputPassword.equals(password) TipWizardFrame tipWizard = new TipWizardFrame(user);tipWizard.setVisible(true);setVisible(false); else JOptionPane.showMessageDialog(null,登录密码错误,请确认后重新登录!, 友情提示,JOptionPane.INFORMATION_MESSAGE);usernameComboBox.setSelectedIndex(0);passwordField.setText( );重置:resetButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) usernameComboBox.setSelectedIndex(0);passwordField.setText( ););退出:exitButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) System.exit(0););3.4 窗体的设计与实现3.4.1 主窗体设计为了增强企业快信系统的可操作性,系统将主窗体划分为3个部分,即工具栏、信息发送区和资源管理区,如图3-7所示。图3-7 企业快信主窗体界面3.4.2 主窗体实现在工具栏中包含“用户管理”、“修改密码”、“短信设置”、“E-mail设置”和“退出”5个按钮,其中“短信设置”和“E-mail设置”按钮用来设置发送短信和E-mail必须设置的接口信息9。实现工具栏的关键代码如下:final JToolBar toolBar = new JToolBar();/ 创建工具栏对象toolBar.setBorder(new EtchedBorder(EtchedBorder.LOWERED);/ 设置工具栏的边框样式toolBar.setFloatable(false);/ 设置工具栏不可移动getContentPane().add(toolBar, BorderLayout.NORTH);/ 将工具栏添加到面板中final MButton userButton = new MButton();/ 创建用户管理按钮userButton.addActionListener(new ActionListener() / 添加事件监听器public void actionPerformed(ActionEvent e) / 处理按钮事件UserManagerDialog dialog = new UserManagerDialog();/ 创建用户管理对话框对象dialog.setVisible(true);/ 设置用户管理对话框可见);URL userUrl = this.getClass().getResource(/img/user.png);/ 获得按钮默认图片的路径userButton.setIcon(new ImageIcon(userUrl);/ 设置按钮的默认图片URL userOverUrl = this.getClass().getResource(/img/user_over.png);/ 获得按钮鼠标经过图片的路径userButton.setRolloverIcon(new ImageIcon(userOverUrl);/ 设置按钮的鼠标经过图片toolBar.add(userButton);/ 将按钮添加到工具栏信息发送区的主要功能是发送信息,包括手机短信和E-mail。信息发送区的左侧为“收信人列表”,通过列表下方的按钮可以取消部分或全部收信人;右侧为信息内容,如果是发送E-mail,则既可以设置邮箱标题,还可以添加附件;如果是发送手机短信,则只可以编辑信息内容。在资源管理区又分为名片夹和信息库,它们的左侧均为分类信息,通过其下方的按钮可以维护分类信息,包括添加、修改和删除类别;它们的中间部分均用来显示选中类别包含的名片或信息列表;它们的右侧均为用来操作列表的按钮,包括添加、修改和删除名片或信息,以及将列表中的选中行添加到“收信人列表”或“信息内容”中为了适当减小主窗体类TipWizardFramede的大小,本系统的主窗体由3个类完成,主窗体类TipwizardFrame负责绘制工具栏和收信人列表,信息内容由InfoPanel类负责绘制,资源管理区由ExplorerPanel类负责绘制。为了增加信息发送区和资源管理区的操作空间,将这两个工作区放在了一个JSplitPane面板15中,这样就可以通过单击图 3-8中的三角形,调整当前使用工作区的大小。图3-8 由JSplitPane实现的垂直分割面板实现垂直分割面板的关键代码如下:final JSplitPane workaroundSplitPane = new JSplitPane();/ 创建分割面板对象workaroundSplitPane.setDividerSize(12);/ 设置分割条的宽度workaroundSplitPane.setOneTouchExpandable(true);/ 设置为支持快速展开/折叠分割条workaroundSplitPane.setDividerLocation(310);/ 设置面版默认的分割位置workaroundSplitPane.setPreferredSize(new Dimension(0, 590);/ 设置分割面板的首选高度workaroundSplitPane.setOrientation(JSplitPane.VERTICAL_SPLIT);/ 设置为垂直分割同样,在信息发送区和资源管理区也使用了JSplitPane面板,这样就可以通过单击图3-9中的三角形调整当前使用工作区的大小:图3-9 由JSplitPane实现的水平分割面板实现水平分割面板的关键代码如下:final JSplitPane sendSplitPane = new JSplitPane();sendSplitPane.setOneTouchExpandable(true);/ 设置为支持快速展开/折叠分割条sendSplitPane.setDividerSize(12);/ 设置分割条的宽度sendSplitPane.setDividerLocation(244);/ 设置面版默认的分割位置sendSplitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT);/ 设置为水平分割3.5 资源管理模块设计与实现3.5.1 名片夹管理功能名片夹管理模块分为名片夹管理和名片管理两部分。名片夹管理部分包括新建、修改和删除名片夹,界面效果如图3-10所示。图3-10 名片夹管理名片管理部分添加到包括向名片夹添加名片、修改或删除名片夹中的名片,以及将选中的名片添加到收信人列表中,界面效果如图3-11所示。图3-11 名片管理在添加和修改名片夹时,都要验证名片夹名称是否已经存在。为了提高代码的重用性10,通过一个单独的方法完成验证,该方法的第一个入口参数为添加或修改节点的父节点,第二个入口参数为新添加节点或修改后节点的名称,如果新的节点名称不存在,则返回false,否则返回true,并且弹出该名称已经存在的提示信息。代码如下:private boolean isHad(DefaultMutableTreeNode treeNode, String newChildName) / 验证该名称是否已经存在boolean had = false;/ 默认为不存在int childCount = treeNode.getChildCount();/ 获得子节点的数量for (int i = 0; i childCount; i+) / 遍历子节点DefaultMutableTreeNode childTreeNode = (DefaultMutableTreeNode) treeNode.getChildAt(i);/ 获得子节点对象if (childTreeNode.getUserObject().toString().equals(newChildName) / 判断名称是否相同JOptionPane.showMessageDialog(null, 该名称已经存在!, 友情提示,JOptionPane.INFORMATION_MESSAGE);/ 弹出该名称已经存在的提示had = true;/ 该名称已经存在break;/ 跳出循环,停止遍历后面的子节点return had;/ 返回结果3.5.2 发送短信模块设计发送短信模块是企业快信系统的核心模块之一,操作员可以通过该模块对企业内部多的所有或者部分员工,以短信的形式发送企业通知、工资条、具体技术、开会等信息,并且这个信息是群体发送的。该模块的运行效果如图3-12所示。图3-12 企业快信的短信发送界面发送短信模块须创建smssend类15的实例对象,该类包含在短信猫的JAR包中。在使用短信猫设备之前,必须调用smssend类的GSMModemInitNew()方法初始化设备,然后调用GSMModemSMSsend方法实现短信发送。1. GSMModemInitNew()方法该方法用于初始化短信猫设备,它接收5个参数。其语法格式如下:GSMModemInitNew(Str
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年药店相关技能鉴定自我提分评估含答案详解(精练)
- 2025年电工职业资格考试试卷及答案
- 执业药师资格证之《西药学专业一》能力检测试卷及参考答案详解(达标题)
- 综合解析人教版8年级数学上册《 整式的乘法与因式分解》专项测试试卷(附答案详解)
- 2025金华市金东区编外招聘61人模拟试卷及答案详解(各地真题)
- 自考公共课试题附参考答案详解(巩固)
- 油田安全员考及答案
- 宁夏安全员考试及答案工资
- 临床执业医师考前冲刺练习题及完整答案详解(夺冠系列)
- 2025黑龙江省北安市中考物理模拟试题及完整答案详解(典优)
- 农村厕所改建技术培训-三格化粪池式厕所课件
- 砖混框架房屋拆除专项施工方案
- 学生学习力评价量表
- 藏餐培训教学计划5篇
- 技术需求征集表
- 三年级上册美术课件-第1课 五星红旗我为你骄傲|辽海版
- 中职心理健康教育第一课-PPT课件
- 文化引领学校特色化课程体系的建构
- 安全现场文明施工措施费用清单
- 蓝色多瑙河(课堂PPT)
- 生物波能量与养生健康知识问答手册
评论
0/150
提交评论