Java应用开发与实践 教学课件 ppt 作者 刘乃琦 苏畅 第21章 课程设计---软件注册程序

上传人:E**** 文档编号:89369500 上传时间:2019-05-24 格式:PPT 页数:29 大小:1.59MB
返回 下载 相关 举报
Java应用开发与实践 教学课件 ppt 作者  刘乃琦 苏畅 第21章  课程设计---软件注册程序_第1页
第1页 / 共29页
Java应用开发与实践 教学课件 ppt 作者  刘乃琦 苏畅 第21章  课程设计---软件注册程序_第2页
第2页 / 共29页
Java应用开发与实践 教学课件 ppt 作者  刘乃琦 苏畅 第21章  课程设计---软件注册程序_第3页
第3页 / 共29页
Java应用开发与实践 教学课件 ppt 作者  刘乃琦 苏畅 第21章  课程设计---软件注册程序_第4页
第4页 / 共29页
Java应用开发与实践 教学课件 ppt 作者  刘乃琦 苏畅 第21章  课程设计---软件注册程序_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Java应用开发与实践 教学课件 ppt 作者 刘乃琦 苏畅 第21章 课程设计---软件注册程序》由会员分享,可在线阅读,更多相关《Java应用开发与实践 教学课件 ppt 作者 刘乃琦 苏畅 第21章 课程设计---软件注册程序(29页珍藏版)》请在金锄头文库上搜索。

1、,本章要求:,第21章 课程设计 -软件注册程序,使用Commons IO组件简化文件读写 使用Commons Lang组件简化日期和对象操作 使用Java操作Window注册表 使用Java绘图技术为面板绘制背景图片 限制文本组件可用字符数 使用RSA算法加密解密字符串 使用正则表达式提取和校验字符串 使用系统剪贴板一次性复制粘贴注册码 创建弹出式菜单,主要内容,1、课程设计目的 2、功能描述 3、总体设计 4、实现过程 5、调试运行 6、课程设计总结,第21章 课程设计 -软件注册程序,21.1 课程设计目的,本章通过一个软件注册程序,演示如何使用Java语言开发实际应用软件。除了使用前面

2、各章介绍的基础知识外,还提供了扩展,讲解了如何使用Java操作Window注册表、加密字符串、限制文本组件可用字符数、使用系统剪贴板等技术。通过本章的学习,读者能够对Java语言的使用有一个更加深入的理解。,21.2 功能描述,21.2.1 软件导航功能 21.2.2 软件注册功能 21.2.3 软件注册机功能,21.2.1 注册导航功能 注册导航功能用于供用户选择继续试用软件还是输入注册码。同时显示了软件还可以试用的天数。在完成选择后,单击“继续”按钮可以执行用户选择的操作。在第一次运行该窗体时,同时向注册表中写入当前时间、剩余试用时间和软件状态等信息。 21.2.2 软件注册功能 软件注册

3、功能用于根据用户输入的用户名校验注册码是否合法。如果是第一次注册,将注册时间、剩余使用时间和软件状态写入注册表。如果用户修改了系统时间会给出提示。同时提供了弹出式菜单完成一次性粘贴注册码的功能。 21.2.3 软件注册机功能 软件注册机用于根据用户输入的合法用户名生成注册码。同时提供了一次性复制注册码的功能。,功能描述,21.3 总体设计,21.3.1 构建开发环境 21.3.2 业务流程图,21.3.1 构建开发环境,软件注册程序的开发环境具体要求如下: 操作系统:Windows 7 旗舰版 JDK版本:jdk-7u3-windows-i586 IDE版本:Indigo Service Re

4、lease 2 开发语言:Java 分辨率:最佳效果1024768像素 Commons Lang组件:版本是commons-lang-2.6 Commons IO组件:版本是commons-io-2.0.1,在启动程序后,需要选择注册或者试用程序。如果选择注册程序,在注册成功后就可以使用程序。如果选择试用程序,在剩余试用时间大于0时就可以使用程序,否则会终止程序。程序的业务流程图如图21-1所示。,21.3.2 业务流程图,21.4 实现过程,21.4.1 注册导航功能 21.4.2 软件注册功能 21.4.3 软件注册机功能,注册导航功能用于供用户选择继续试用软件还是输入注册码。同时显示了软

5、件还可以试用的天数。在完成选择后,单击“继续”按钮可以执行用户选择的操作。在第一次运行该窗体时,同时向注册表中写入当前时间、剩余试用时间和软件状态等信息。注册导航窗体的运行效果如图21-2所示。,21.4.1 注册导航功能,1界面设计 在该窗体中,使用了标签、单选按钮和按钮等组件。为了美观,将字体统一修改为微软雅黑,大小为15。各个组件的说明如表21-1所示。,2关键代码 (1)使用HTML显示格式化的标签文本 在图21-2左侧infoLabel标签中,显示的字符串是有格式的。“关于注册”使用了斜体,而其他字符串没有使用。此外,在标签中还对字符串进行了换行显示。对于这种简单的样式修改可以使用H

6、TML来实现。创建在标签的代码如下。 JLabel infoLabel = new JLabel(“关于注册注册需要用户名与注册码,用户可以在软件包装处进行寻找。如果您不想激活该软件,可以在试用状态下使用,并且可以在试用期内随时激活本软件。“); (2)编写显示背景图片的面板 在图21-2右侧,显示的图片使用了自定义面板类BackgroundPanel (3)编写读写注册表工具 Java修改Windows注册表时,可以使用Preferences工具类。为了操作方便,在RegisterEditorTool类中定义了4个工具方法来读写注册表,(4)定义软件状态枚举 一个软件在交付用户使用后,一遍包

7、括以下4种状态:试用、试用期满、注册和注册期满。为了使用方便,将这些状态保存到State枚举中 (5)向注册表中写入信息 如果用户第一次运行软件导航窗体,则需要向注册表中写入系统当前时间、软件剩余试用时间和软件状态 (6)判断用户是否修改了系统时间 为了避免用户通过修改系统时间来逃避注册,可以对其进行判断 (7)处理“继续”按钮单击事件 当用户单击“继续”按钮时,会根据不同的选择执行不同的操作,软件注册功能用于根据用户输入的用户名校验注册码是否合法。如果是第一次注册,将注册时间、剩余使用时间和软件状态写入注册表。如果用户修改了系统时间会给出提示。同时提供了弹出式菜单完成一次性粘贴注册码的功能。

8、软件注册窗体的运行效果如图21-3所示。,21.4.2 软件注册功能,1界面设计 在该窗体中,使用了标签、文本框和按钮等组件。为了美观,将字体统一修改为微软雅黑,大小为15。各个组件的说明如表21-3所示。,2关键代码 (1)限制文本组件可用字符数 用户在注册机中生成注册码时,对于用户名长度有要求限制。因此,在接收用户输入用户名的文本框中最好也提供这项功能,防止用户误输入。DocumentFilter是一个文档变化方法过滤器。当包含DocumentFilter的文档被修改时(例如插入文本、删除文本),将首先调用DocumentFilter类中的方法。在DocumentFilter类中,定义了3

9、个方法:insertString、remove和replace方法。 (2)校验用户输入信息是合法 用户输入信息包括用户名和注册码两部分。对于用户名,需要校验其是否为空,而且内容是否合法,(3)获得本机的MAC地址 通常情况下,生成的注册码与客户端计算机硬件信息相关,例如使用MAC地址。对于不同的操作系统,其获取MAC地址的方式也不同。 (4)RSA加密解密算法工具 RSA是一种非对称的加密解密算法。它可以生成一对密钥:公有密钥和私有密钥。假设两个人A和B需要传递重要信息。A可以先生成密钥对,然后将公有密钥发送给B。B在接收之后,可以使用公有密钥加密需要发送的内容。接着将加密后的内容发送给A。

10、A在接收以后可以使用私有密钥进行解密。即使在传递过程中公有密钥和加密内容都被人窃取,由于没有私有密钥,他也不能在有限的时间内进行解密。 (5)向注册表写入信息 当校验完用户名和注册码后,如果用户第一次运行软件注册窗体,需要向注册表中写入注册信息,并生成RSA算法需要的公共密钥和私有密钥以及保存MAC地址和注册码的文件,(6)校验唯一性与系统时间合法性 为了防止用户在不同的计算机上使用同一个注册码,需要对唯一性进行校验。此外,还需要避免用户通过修改系统时间来延长软件使用时间 (7)使用弹出菜单粘贴注册码 用户输入的注册码公有16位,分别填入4个文本框。为了方便用户使用,在弹出式菜单中提供了一次性

11、完成粘贴的功能。,软件注册机用于根据用户输入的合法用户名生成注册码。同时提供了一次性复制注册码的功能。注册机窗体的运行效果如图21-5所示。,21.4.3 软件注册机功能,1界面设计 在该窗体中,使用了标签、文本框和按钮等组件。为了美观,将字体统一修改为微软雅黑,大小为15。各个组件的说明如表21-5所示。,2关键代码 (1)校验用户名合法性 注册机要求用户不能使用空字符串,输入的字符串长度为5且只能有字母和数字组成。因此,需要对其合法性进行校验 (2)使用弹出菜单复制注册码 注册码由16个数字组成,并且被分配到不同的文本域中,复制比较麻烦。为此提供了使用弹出菜单复制注册码的功能。,在第一次运

12、行本程序时,如果没有为用户提供修改注册表的权限,会报告如图21-6所示的错误。,21.5 调试运行,为用户增加修改注册表权限的步骤如下: (1)在DOS窗体中运行“regedit”命令打开注册表编辑器。 (2)打开HKEY_LOCAL_MACHINE注册表项,打开SOFTWARE子注册表项,打开JavaSoft子注册表项,如图21-7所示。,(3)选择Prefs注册表项,单击右键,如图21-8所示。,(4)在图21-8中,选择“权限(P).”,显示Prefs注册表项权限对话框,如图21-9所示。,(5)在图21-9中,单击“添加(D)”按钮,显示添加用户或组对话框,输入当前系统用户名,如图21

13、-10所示。,(6)单击图21-10中“检查名称(C)”按钮,然后单击确定按钮完成用户的添加,如图21-11所示。,(7)在图21-11中,选择新增加的用户,对于kira的权限,选择允许完全控制,如图21-12所示。 (8)在图21-12中,单击“确定”按钮,完成修改。,课程设计是一件很累人很伤脑筋的事情,在课程设计周期中,大家每天几乎都要面对着电脑十个小时以上,上课时去机房写程序,回到宿舍还要继续奋斗。虽然课程设计很苦很累,有时候还很令人抓狂,不过它带给大家的并不只是痛苦的回忆,它不仅让拉近了同学之间的距离,而且对大家学习计算机语言是非常有意义的。 在没有进行课程设计实训之前,大家对Java知识的掌握只能说是很肤浅,只知道分开来使用那些语句和语法,对他们根本没有整体感念,所以在学习时经常会感觉很盲目,甚至不知道自己学这些东西是为了什么;但是通过课程设计实训,不仅能使大家对Java有更深入的了解,同时还可以学到很多课本上学不到的东西,最重要的是,它让我们能够知道学习Java最终目的和将来发展的方向。,21.6 课程设计总结,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号