java课程设计题目

2022-09-21

第一篇:java课程设计题目

Java课程设计题目

一、Java语言课程设计目的和要求 1.目的:

1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;

2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;

3)培养学生在项目开发中团队合作精神、创新意识及能力。

2.要求:

1、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;

2、系统设计要实用,编程简练,可用,功能全面

3、说明书、流程图要清楚

4、记录设计情况(备查,也为编写设计说明书作好准备);

5、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。

6、设计上交内容:设计报告一组一份(按格式书写);心得体会每人一份;源程序文件。

二、Java课程设计选题如下:

1、编写一个记事本程序 要求:

用图形用户界面实现。

能实现编辑、保存、另存为、查找替换、统计各个单词的频率、字数统计、撤消上次操作、重做上次操作、剪切、粘贴、字体设置等功能。 提示:使用文件输入输出流。

2、模拟龟兔赛跑 要求:

用图形用户界面实现。

能设置比赛时间,马匹的数量等等。 在任意时间段内马匹的速度是随机的。 开始比赛之后以动画显示赛马过程。 提示:使用多线程

3、学生信息管理系统 要求:

使用图形用户界面

用数据库建立1或2个学生信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。

4、图书信息管理系统 要求:

使用图形用户界面

用数据库建立1或2个图书信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能并能模拟真实图书馆实现书超期时的罚款功能。

5、聊天小程序 要求:

使用图形用户界面。

能实现一个聊天室中多人聊天。 可以两人私聊。

提示:使用socket通信

6、ATM柜员机模拟程序

要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:

1、查询余额:初始余额为10000元

2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

3、ATM存款:不能出现负存款,存款金额也为100的倍数,一次最多10000元。

4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

7、超市收银系统

要求:使用图形用户界面。

由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可享9折优惠。

若一年内购物次数小于2次,则会员卡失效,若一年内购物总金额多于1000元,以后购物可享受8.5折优惠。

8、万年历 要求: 使用图形用户界面。 实现日期与星期的查询

9、网络监听程序 要求:

使用图形用户界面。

有服务器和客户端,服务器监听客户端的登陆。即:如果A客户端登陆服务器,则服务器界面上的A字母对应的红灯变成绿色。 绿灯表示连接,红灯表示断线。 提示:socket的监听方法

10、全球通计费程序 要求:

使用图形用户界面。

使用真实的全球通资费标准,模拟统计一个特定号码的一个月的实时话费。 能根据输入实现各种用户的话费的计算并显示月实时帐单。

提示:使用接口和多个子类实现分别表示金卡、银卡等各种套餐的话费计算。 扩展:可根据实际话费要求得出其最优套餐选择。

11.日历记事本

要求:带有日程提醒功能的日历。

1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。

2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。

3、查询信息:用户可以查询到某个月的所有的提示信息。

12.电子英汉词典 要求:

能够编辑词典库中的信息 能够实现英译汉,汉译英。(要考虑一词多义)

13.加密与解密

要求:采用图形用户界面

1、给定任意一个文本文件,进行加密,生成另一个文件。

2、对加密后的文件还原。

14.小游戏 要求:。

程序随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。(使用图形界面)

15.敏感词汇分析 要求: 任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。

16、猜数字游戏

要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间、次数和评语。

17、小学算术运算测试程序

要求:制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数。

18、模拟科学计算器

要求:界面模拟Windows中的计算器程序。

实现基本数学运算、函数等功能:加、减、乘、除、阶乘、正弦、余弦和指数运算。 实现要点:添加相关组件并进行按钮事件处理。

19、模拟画图

要求:模拟Windows中的画图程序,实现图形图像的编辑、修改、保存、撤消等功能。

20、模拟时钟

要求:通过多线程技术,重绘界面,界面包括表盘和指针。并用数字表显示时间。 实现要点:多线程技术,图形的绘制。

21、打字训练测试软件

要求:设计一个英文打字测试软件。从文件中调入英文录入材料,最后可以给出错误率,平均录入速度。

22、ip地址、手机归属地查询 实现要点:数据库查询。

23、电话号码查询系统。

要求:有电话录入,修改,增加,删除,按姓名查询,按电话号码查询,按部门查询,按部门显示,显示所有电话号码信息,打印等功能。

24、标准化考试

功能要求:程序从文件系统(或数据库)中读入考试题目(主要为选择题)及答案,显示在GUI界面中,答题者按照题目内容进行答题,点击按钮提交后可以看到自己的答题结果。 界面要求:图形界面实现。

25、图形图像处理

功能要求:能够完成图形图像的变形的纠正,可使用opencv或其他类似图形库来完成。 界面要求:图形界面实现

26、语音朗读 功能要求:读入一段文本文件,将其用语音的方式朗读出来。 界面要求:图形界面实现

27、SVG显示程序

功能要求:使用Java完成SVG图形图像的显示,修改,保存功能。 界面要求:图形界面实现

三、设计时间

一周,具体安排如下: 第一阶段:

1.班级分组,选定课题,查阅相关资料

1周 2.划分模块、小组成员分工,编制源程序

1-2周

第二阶段:上机调试,修改、完善系统

一周 第三阶段:撰写、上交课程设计说明书(1份/人),上交课程设计作品源程序(每课题组一份),作品答辩。

1天

四、设计方式和安排

1.分组选题:最多5人为一组,每组一个课题(可根据课题工作量大小,合理分配人数),每组设组长一名,负责该组设计工作的协调、分工等。 2.设计过程:

1) 分析设计准备阶段(按组讨论、对系统功能进行分析,确定算法,并进行明确分工); 2) 编程调试阶段(绘制流程图,编制源程序;上机调试,修改程序) 3) 总结报告和书写说明书阶段(撰写上交相关资料)

3、考核过程

17周周五下午答辩。

五、考核内容和方式

1、在设计期间,学生要按时上机,设计结束根据记录的设计材料整理成设计说明书。设计说明书中应写下设计中的主要收获,要求对问题有一定的分析,文字简短明确流畅。

2、通过设计答辩方式,并结合学生的动手能力,独立分析解决问题的能力和创新精神,设计成绩由指导教师根据考勤、设计说明书质量、答辩表现以及学习态度按五级分制综合评定。 成绩分优、良、中、及格和不及格五等。

六、课程设计报告格式及要求

一、封面;

二、目录;

三、设计任务书;

四、本组课题及本人任务;

五、程序功能简介;

六、主体内容(简要说明总体情况,详细介绍本人任务部分): 1.设计分析;

2.程序结构(画流程图) 3.各模块的功能及程序说明; 4. 源程序;

5.操作方法(流程);(可省) 6.试验结果(包括输入数据和输出结果) 7.设计体会。(可省)

格式要求见山东交通学院毕业设计文件。

第二篇:Java课程设计题目2

面向对象课程设计题目

1、个人通信录管理信息系统的设计与实现

目的:通过本题目的设计,加深对面向对象程序设计技术的理解,掌握利用数据库编写小型程序的基本过程和方法。 任务:

1)利用面向对象编程技术,完成个人信息的存储管理;

2)选择系统开发平台(JAVA或.NET)和软件架构(C/S、单机版); 3)要求系统能够对联系人的系统进行录入、查询、编辑、导入和导出等。

2、个人电子相册的设计与实现

目的:掌握一种开发平台,编写出具有高交互性应用程序。 任务:

1)分析现有的电子相册的具体功能;

2)选择一种开发平台(JAVA或.NET)编写电子相册应用;

3)个人电子相册应该具备用户注册、照片浏览、创建影集、照片旋转、放大等各种基本功能。

3、音像租赁管理系统的开发与实现

目的:通过资料收集,了解音像租赁连锁店的基本业务需求,完成系统需求分析和概要设计,采用C/S架构完成一个简单的光盘租赁管理系统的开发。 任务:

1)音像租赁连锁店的基本业务需求,完成需求分析报告;

2)利用JAVA编写一个基本功能的光盘租赁管理系统,包括客户信息管理、音像资料管理、音像检索、业务统计等;

4、学生综合信息管理信息系统的设计与实现

目的:通过实际编写一个学生综合信息管理软件,将所学多门课程的技能、技巧(面向对象系统分析、变量命名、软件模块设计、数据库访问等)加以综合运用,达到较大规模软件独立设计与开发的能力。 任务:

1)选择JAVA或.NET完成一个桌面架构的学生综合信息管理软件; 2)软件可以对学院大学生综合信息(姓名、学号、成绩、籍贯、家庭所在地、特长、宿舍号等)进行管理(录入、删除、修改)、统计、分析(排序)、查询与打印

3)课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。

5、家庭财务管理信息系统设计与开发

目的:通过实际编写一个家庭财务管理软件,将所学多门课程的技能、技巧(面向对象系统分析、变量命名、软件模块设计、数据库访问、数理统计分析等)加以综合运用,达到较大规模软件独立设计与开发的能力。 任务:

1)选择者JAVA或.NET完成一个桌面架构的学生综合信息管理软件; 2)软件能够对家庭的收入、支出进行分类统计,用户可以自定义收入、指出的类别,自定义分类查询和统计的条件。系统可以按照用户定义自动生成统计报表(月报、季报、年报)。通过财务分析,对家庭收支提出改进建议;

3)课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。

6、文化用品库存管理信息系统的设计与实现

目的:在JAVA或.NET平台下,完成一个商品库存管理系统的简单业务流程分析,在此基础上,开发一个 B/S架构的库存管理系统,掌握简单Web应用的开发。 任务:

1)学习JAVA编程技术;

2)通过资料检索与整理,分析文化用品库存管理系统的基本功能; 3)完成软件开发和文档的编写。

7、面向对象图书管理信息系统设计与实现

目的:综合运用面向对象程序设计、数据库编程、GUI用户编程技术开发一个功能简单的图书管理系统,实现基于关键字的检索,读者和图书基本信息的管理。 任务:

1)完成整个系统的需求分析和类的设计;

2)实现基本的读者、图书信息管理功能,例如数据添加、删除和检索; 3)实现一个GUI图书管理的程序,撰写相应的软件设计文档; 4)给出程序运行、测试的详细结果。

8、学生成绩管理信息系统的设计与实现

目的:通过本题目的设计与实现,掌握面向对象的程序设计的思想,训练数据结构、排序、查找以及各种统计分析建模技术。掌握简单的管理信息系统的设计。 任务:

1)输入班级、年级学生的各科成绩,分配课程的权重,设计相关的模型和算法,对各班成绩进行分析、统计。;

2)实现排序、查找算法,计算各班、各科的平均成绩、标准差等统计学指标。通过历年指标的分析,绘制趋势线等;

3)编写详细的软件开发文档,给出程序运行、测试的详细结果。

9、大学生运动会运动成绩管理及统计分析系统实现

目的:通过本题目的设计,深入体会软件工程需求分析、概要设计、详细设计等主要环节,掌握面向对象程序设计的基本方法、训练编写一个基本的GUI应用程序。 任务:

1)完成系统的需求分析和功能设计;

2)完成运动成绩统计、分析算法和模型的设计;

3)编写程序实现的代码和相关的软件开发文档,给出程序运行、测试的详细结果。

10、Windows绘图板的设计与实现

目的:采用面向对象编程技术,设计并实现一个功能完善的Windows绘图板程序。通过实际程序的开发,熟练面向对象程序设计方法,掌握桌面程序设计技巧,熟悉JAVA或.NET开发环境。 任务:

1)开发一个功能完善的Windows绘图板程序,功能包括:新建空白文档、文件保存、绘制一些基本的图形组件(直线、矩形、实心矩形、椭圆、实心椭圆、圆、实心圆、圆角矩形、实心圆角矩形等)、橡皮擦、添加文字等;

2)完成软件开发文档编写; 3)给出程序运行、测试的详细结果。

11、可换肤MP3播放器的设计与实现

目的:分析当前流行的换肤编程技术,开发一个可以管理本地音乐库的MP3播放器,要求播放器可以更换2~3种皮肤。 任务:

4 1)编程实现一个可以解码MP3的音乐播放器,可以使用解码控件; 2)播放器需要支持音乐库管理,包括本地MP3文件搜索、添加到音乐列表、从音乐列表中删除、建立音乐专辑; 3)支持2~3种皮肤的更换;

4)给出程序的总体设计和详细设计,要求程序总体架构图、详细设计的流程图,函数、变量说明等 5)给出程序运行、测试的详细结果。

14、多媒体播放器程序的设计与实现

目的:利用JAVA或.NET开发一个支持mp

3、wma、wmv、avi、mpg等不同音频、视频格式的多媒体播放器。通过课程设计掌握多媒体编程的基本原理。 任务:

1)编程实现一个可支持多种音视频格式的多媒体播放器,其基本功能包括媒体播放、音量调节、播放进度选择、暂停、停止以及歌曲信息的查询与添加等;

2)给出程序的总体设计和详细设计,要求程序总体架构图、详细设计的流程图,函数、变量说明等 3)给出程序运行、测试的详细结果。

第三篇:Java课程设计

Java及J2EE课程设计题目

1、文件档案管理

文件档案管理系统主要对外来文件、下发文件和需要抄送的文件进行统一管理。划分为以下三个模块:收文管理、发文管理、抄送文件。

1. 收文文件增加、删除和修改,其字段有:收文编号、收件日期、文件标题、内容、发文单位、签发人

2. 发文文件增加、删除和修改,其字段有:发文编号、发件日期、文件标题、内容、收文单位、发件人

3. 抄送文件增加、删除和修改,其字段有:文件编号、发件日期、文件标题、内容、抄送单位、发件人

4. 查询条件是发文类型(收文、发文还是抄送)、文件标题、内容进行模糊查询。

应用工具:jsp+struts+jdbc

题目等级:A

2、运动员档案管理

运动员档案管理系统是对运动员的基本信息及参加比赛的情况进行管理维护。分为两个模块:运动员建档、比赛记录。

5. 运动员建档增加、删除和修改,其字段有:学生编号、姓名、出生日期、性别、民族、政治面貌、主修项目、联系方式

6. 对运动员的档案进行模糊查询,查询条件有:学生编号、学生姓名、性别、主修项目

7. 对比赛记录进行增加、删除、修改,其字段有:学生编号、姓名、时间、地点、比赛名称、参加项目、成绩、名次

8. 对比赛记录进行模糊查询,查询条件有:学生编号、学生姓名、比赛名称、参加项目、成绩 应用工具:jsp+struts+jdbc

题目等级:A

3、信息发布系统

信息发布系统是将最新信息、以最快的方式展示给用户。提供信息的维护管理功能。信息主要字段:发布时间、标题、内容、有效期开始时间、结束时间、发布人、是否阅读,完成对信息的发布、修改、删除操作,对信息进行模糊查询,其查询条件为标题、内容、发布人

应用工具:jsp+struts+jdbc

题目等级:A

4、通讯录管理

通讯录管理系统是方便用户管理自己的联系人,查找相应的联系方式。根据类别的不同对联系人进行分类管理。联系人信息有:姓名、性别 、职务、办公电话、手机、宅电 、电子邮件、通讯地址,完成对联系人的增加、删除、修改操作,提供对通讯录进行模糊查询,其条件为姓名、性别、职务、通讯地址字段

应用工具:jsp+struts+jdbc

题目等级:A

5、备忘录管理

备忘录管理系统是记录每天需要做的事情,起到一个提醒的作用。提供对这些信息的维护功能。备忘录中的内容主要有:日期、标题、内容这三个数据项,完成对其的增加、删除、修改操作,并可以按日期和标题、内容进行模糊查询

应用工具:jsp+struts+jdbc

题目等级:A

6、会议管理

会议管理系统是记录会议的基本信息,开完会后记录会议的讨论结果,进行备案,供以后查询使用。会议的基本信息:会议主题、会议类型 (周会、报告会、考务会……)、会议状态 (准备中、进行中、已结束三种)、会议时间、会议地址 、参与者 、会议主要内容,完成对其会议基本信息的增加、删除、修改操作,并要记录会议结果,会议记录结果主要记录的是会议讨论结果 、领导签字两个数据项。 应用工具:jsp+struts+jdbc

题目等级:A

7、日程管理

日程管理要记录每天的工作日程安排,主要内容包括:记录时间、名称、内容、地点、日程的开始

和结束时间,完成对基本信息的增加、删除、修改操作,并对日程的信息进行查询,查询条件有:名称、内容

应用工具:jsp+struts+jdbc

题目等级:A

8、日志管理

日志管理要记录每一天完成工作的情况,记录的信息有时间、上午工作记录、下午工作记录、记录人,完成对这些信息的维护,并对日期进行查询

应用工具:jsp+struts+jdbc

题目等级:A

9、用户管理

为了方便网站管理者对用户进行身份确认,或者是用户购买以后进行配送等服务,必须要有用户管理系统。用户管理系统应该具有用户注册、用户登录、用户修改和用户注销等功能。

1. 用户注册(1)

2. 用户登录(1)

3. 用户信息修改(1)

4. 用户注销(1)

应用工具:jsp+struts+jdbc

题目等级:A

10、数据查询

网上购物的一个优势是可以在商品中进行查询。

1. 生成查询记录集(1)

2. 分页显示功能(1)

3. 查看商品详细信息(1)

应用工具:jsp+struts+jdbc

题目等级:A

11、购物车

1.添加到购物车(1)

2.查看购物车(1)

3.购物车操作(1)

4.结帐(1)

应用工具:jsp+struts+jdbc

题目等级:A

12.新闻管理系统

题目:当今社会是一个信息社会,人们通过信息了解社会情况,进行社会活动,而新闻作为企事业单位宣

传自己,发布信息的主要形式,而在网络新闻的宣传是一个新兴事务,并且发展很快,已经成为一个重要信息发布媒体。所以现要求你设计一个用于新闻管理的信息系统,实现新闻的编辑与发布。

功能要求:本系统要求可以完成新闻在线发布,在线编辑,新闻分类,图片新管理等功能,技术上要求

使用JSP技术。

题目等级:B

13.在线考试系统

题目:考试作为学员学习效果的检验的主要方式一直被采用,而且考试形式也有许多方式,如笔试,面

试等,在线测试作为一种新的考试形式,得到越来越快的发展。所以现要求你设计一个在线考试系统,实现在线测试。

功能能要求:实现在线测度,在线评测,随机出题,试题编辑等功能,技术上采用JSP+JavaBean实现。题目等级:A

14.网上书店系统

题目:图书是人们了解知识,掌握知识的主要手段,传统的书店都店面形式,人们需要去书店才能够购

买,花费大量的时间也不一定得到一本满意的书籍。而网上书店就是利用网络为人们提供一个足不出户就可以买到一本理想的书籍的方式。所以要求你设计一个网络书店系统,实现书籍的在线销售,在线阅读。

功能要求:实现图书在线阅览,在线选购,新书推荐等功能,技术上要求采用JSP +JavaBean实现。 题目等级:A

15.学生学籍系统

题目:学生学籍管理是一个学校管理的重要组成部分,学生学籍管理也是最麻烦的一项管理,所以实现

学生学籍管理的信息化是一种简化管理的主要途径。现要求你设计一个实现学生学籍管理的系统,实现学生学籍管理的信息化。

功能要求:学生学籍注册,查询,更新,学生奖惩,学籍变动等功能。技术上要求采用JSP技术实现。 题目等级:B

16.留言本

题目:留言本是网站中用于与管理员进行信息交流的主要方式,是网站中的一个重要功能之一,现要求

你设计一个留言本,实现在线留言。

功能要求:留言发布,留言回复,留言置顶,留言验证等功能,技术采用JSP实现。

题目等级:C

17.在线投票问卷管理系统

题目:在线调查是调查了解对某件事情人们反映的主要方式,是目前比要流行的一种调查方式。现要求

实现一个在线投票调查系统,并可以进行结果统计,结果评测等功能。

功能要求:在线投票,在线答卷,在线统计,在线评测等功能,技术上采用JSP实现。

题目等级:C

18.员工档案管理系统

题目:员工档案是一个企业人才建设管理的重要资源,好的员工档案管理,对提高员工工作积极性,

提高企业效益的重要方式。所以要求设计一个员工档案管理系统,实现员工档案管理的信息化管理。

功能要求:员工档案注册,员工考核,员工调动等功能,技术上采用JSP+JavaBean实现。

题目等级:A

19.文本编辑器

题目:参照Windows记事本程序设计一个文本编程器,可以进行文本的格式编辑。

功能要求:要求有菜单,工具栏,文本编辑功能所需要的功能,技术上采用Java图形窗口技术实现。题目等级:C

20.计算器

题目:参照Windows计算器程序设计一个计算器,可以实现数学计算。

功能要求:要求功能上要与Windows计算器功能类似。

题目等级:C

21. HANNOI-塔

题目:运用多线程与图形接口技术设计一个HANNOI-塔演示程序,要求增加简易图形界面。功能要求:能够至少演示5级HANNOI-塔。

题目等级:B

22.挖雷游戏

题目:运用多线程程序与图形接口技术设计一个挖雷游戏程序,要求有简易的图形界面。

功能要求:功能上与Windows扫雷游戏类似。

题目等级:A

23.动态时钟

题目:运用Applet和多线程技术设计钟表程序,以实现当前时钟的显示。

功能要求:要求有表盘,可以调整时间。

题目等级:B

24.音乐播放器

题目:运用Applet技术设计一个可以播放音乐的播放器。

功能要求:可以播放音乐,可以添加乐曲等功能。

题目等级:C

25.实验室网上签到系统

题目:要求实现一个实验在线签到系统,学生可以在上实验时完成签到。

功能要求:课程设置,新建签到,学生签到列表,学生在线签到等功能。技术上采用JSP+JavaBean技

术实现。

题目等级:B

26.用户管理系统

题目:要求实现用户管理系统,可以实现用户注册,用户权限管理等功能。

功能要求:用户注册,用户极限分配,用户登录等功能。技术采用JSP技术实现。、

题目等级:C

27.图书馆管理系统

题目:要求实现图书馆的在线管理,学生可以在线借书,在线阅览等功能。

功能要求:在线图书管理。在线阅读,在线借书,还书等功能。技术上采用JSP+JavaBean实现。题目等级:B

28.求职招聘系统

题目:网上求职是当今人才流动,人才引进的重要途径,但对于成百万的简历的管理,职位的发布的

管理如果采用人工的方式会花费大量的人力、物力,但如果实现计算机网络化 管理就显得容易一些,所以现要求你设计一个求职招聘管理系统,实现人才交流的信息化处理。。

功能要求:职位发布,在线投简,在线应聘等功能。技术上采用JSP+JavaBean技术实现。题目等级:B

29.仓库管理系统

题目:仓库管理是一个非常烦琐,但是很重要的工作。如果能够实现仓库管理的计算机处理,对于提

高工作效率,降低工作成本,能够起到非常重要的作用,所以现要求实现一个仓库管理系统,实现仓库的信息化管理。

功能要求:实现货物的出库,入库,库存统计,库存预警等功能。技术上采用JSP+JavaBean技术实现。题目等级:B

30企业网站管理系统

题目:网站对企业宣传工作的开展提供一个非常的好的效果,产生很好的效益,这就说明网站已经成

为企业宣传自己的重要手段,网站管理的好坏直接影响这个网站的应用,所以现要求为某企业网站设计一个管理系统,实现网站的后台管理。

功能要求:产品发布,用户管理,信息发布等功能。技术上采用JSP+JavaBean技术实现。题目等级:A

31.流量统计系统

题目:网络流量是反映一个网站受关注度情况的重要表现,是网站调整版面信息的参考,访问流量高

的网站证明其效益非常好,是一个非常理想的网站,但流量低的网站就需要进行信息的更新和版面的修改,以提高网站的访问量,这样网站流量的时时统计能够给网站管理员提供一个网站运行情况信息参考,为其更好的管理网站提供帮助。现要求你设计一个网站访问流量的统计系统,时时统计网站访问流量。

功能要求:显示在线人数,当前访问者IP,历史访问人数,最高流量时间等功能。技术上采用JSP技

术实现。

题目等级:C

其它可选题目

以上题目的等级全都为C,所选工具应为jsp+jdbc,都要完全相应的增、删、改、查等功能

(1) 酒店管理信息系统

(2) 客房管理信息系统

(3) 药品管理信息系统

(4) 学籍管理信息系统

(5) 成绩管理信息系统

(6) 宿舍管理信息系统

(7) 图书管理信息系统

(8) 财务处理信息系统

(9) 固定资产核算信息系统

(10) 工资管理信息系统

(11) 材料管理信息系统

(12) 成本管理信息系统

(13) 房地产产权产籍管理信息系统的开发

(14) 住宅小区物业管理信息系统的开发

(15) 建设工程报价管理信息系统的开发

(16) 建设工程预算系统的开发

(17) 项目材料管理信息系统的开发

(18) 工程材料采购管理信息系统的开发

(19) 工程成本管理信息系统的开发

(20) 机械设备租赁管理系统的开发

(21) 工程图档管理信息系统的开发

(22) 企业人力资源管理信息系统的开发

(23) 企业职工培训管理信息系统的开发

(24) 企业职工医疗保险信息系统的开发

(25) 商品销售管理信息系统的开发

第四篇:Java课程设计

统一要求:

设计成品 (按难度自选一个到两个完成)

可分组或单独完成,每组最多两人,19周前交 1设计报告

(1)本程序的功能描述

(2)程序设计思想(数据结构和各功能的实现办法) (3)核心程序清单(应有必要说明) 2结果分析

(1)本程序的局限性及改进方法

(2)应用本程序的设计方法可以编写哪些类似的程序 一:小型通讯管理系统

通讯录管理系统含有:输入 显示 查找 删除

要求

1通讯录的每一条信息包括姓名,单位,电话!(可用数组或数据库) 2输入功能:可以一次完成若干条信息的输入.

3显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示) 4查找功能:完成按姓名查找通讯信息. 5删除功能:完成按姓名删除通讯信息.

6应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

二:个人简历程序:(参照中华英才网http://的创建个人简历的选项)

通过文本框输入姓名,通过单选按钮设置性别,通过组合框选择籍贯(列出省、市),文化程度、出生日期、现居住地。以及填写教育经历、语言及方言等。

请按自行安排界面排版方式,注意美观性。

三:多小球运动程序:

请编写一个多小球运动的程序,要求可以设置每个小球的半径,初始书度,加速度。

当用户点击发射按钮时,程序按指定的弹出一个小球,当小球碰到边界线时,碰撞为完全碰撞。

要求每个小球为一个线程,不考虑小球之间的碰撞。

四:打字小程序。

从屏幕顶端随机落下不同的英文。如果在字符下落的过程中,用户正确输入对应字符,字符消失,加1分;到字符落到底端还没正确输入,扣一分。

给出最宗成绩。程序可设 重新开始,暂停,练习时间,字符出现的数量,速度等。

五:龟兔赛跑

龟兔在同一个圆赛跑,要求可以设置龟兔跑一周的时间,兔比龟快。龟兔同时其跑,当兔快龟一圈时,计算器加1,并显示在屏幕上。 六:学生成绩管理系统。

完成一个班学生的成绩管理。为完成程序功能,至少要有两个这样的功能模块:

l 输入成绩 2 查询成绩

因为查询模块中又分为:

l 按学生查询 2 按课程查询

所以为它们分别编写函数。因为上述这些操作中要输入某位学生和某门课程,所以再编写两个函数来输出数组中的学生信息和课程信息并请用户从中选择:

1显示学生信息从中进行选择 2显示课程信息从中进行选择

系统管理员需要管理系统所有用户的信息,包括用户编号、名称、备注等,可以对其添加删除修改和启用停用等操作。

还需要为系统用户划分角色和权限,保证不同身份的用户进入后可以有不同的权限,如某科目的老师可以录入本科目的成绩,学生只可以有查询权限等。

七:使用ServerSocket和Socket实现服务器支持多客户机通信。当有多个客户向服务器提出时请求时,服务器一端会分别为每个客户从一个包含多行文字的文本文件中读取一行文字,发送给每个客户,直到文件读完文件中所有行,服务器一端发出“bye”并停止运行,客户端也都停止运行。

八:编写一个图形用户界面的应用程序,在窗口中,有一个图片循环地从窗口的左面移动到窗口的右边。当鼠标点击窗口时,图片停止运动,再次点击图片恢复运动。 九:编写程序,在文件中输入若干个单词(每个单词可重复一次或多次)。编程实现统计每个单词重复次数,并对非重复的单词进行排序,将排序结果输出到文件中。 十. JDBC技术的应用

——校园卡信息/学生信息/教师信息/图书信息/宿舍信息/学生会/成绩/课程/教室管理/公务员招考系统的设计实现

以校园卡信息管理、学生信息管理、教师信息管理、图书信息管理、宿舍信息管理、学生会活动管理、成绩管理、教室管理等为例,使用JDBC-ODBC数据库接口,完成对后台数据库的插入、删除、修改、查询等操作。数据库系统可采用Sql Server、Access等,要根据完成的不同功能在数据库系统中定义有关的各种信息表:如在教师信息管理系统中要设计教师基本信息表、教师学习进修情况表、教师奖惩情况表、教师上课情况表等。其他几个子系统中数据表的设计由同学们根据实际的需求自主完成设计。 十一. 文本编辑器的设计与实现

设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。 十二..计算器的设计与实现

设计一个能实现计算器功能的Java程序,可以进行加、减、乘、除(另外可适当加上阶乘、正弦、余弦和指数)运算。 十三. 图象浏览器的设计与实现

设计一个能实现图象浏览与编辑功能的Java程序,包括如下功能:

1)从已有的图象文件列表中选择某一个,即可显示该图象,并可做旋转等变换。 2)在画布区域上可以进行各种规则图形的绘制(如:线段、矩形、多边形、圆等),还可通过鼠标的拖动自由绘图。

3)可以连续播放所选文件夹下的所有图象。 十四: 媒体播放器的设计与实现

利用JMF(Java Media Framework)提供的API,实现图像浏览、音频播放、视频播放功能。

十五:局域网聊天程序的设计与实现

该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。 客户端程序:可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的信息。 服务器端程序:可将消息发送到客户端和接受客户端发送来的信息 十六:基于Web的应用

——网上超市/网上书店/网上花店/网上物流/网上招聘/同学录/网上选课/网上考试系统的设计

应用JSP技术,设计一个类似电子商务、电子政务类的简单应用系统,可以在网上动态展示各类信息,并根据相应的业务流程进行必要的逻辑处理,系统信息可以进行后台维护。需要动态显示的信息要存放数据库中,数据库可以用Sql Server、Access;后台管理要提供对数据库中信息进行动态维护(包括添加、删除、修改)的页面。 十七:益智类小游戏的设计与实现

运用多线程和多媒体技术设计一个简单的益智类小游戏,游戏内容自行构思,不得直接利用网上现有游戏程序,要求有人机交互和界面动画,游戏过程中有声音效果,游戏成绩能记录、显示。

第五篇:Java课程设计报告

《Java课程实习》报告

题目 学号 学生姓名

音乐播放器

201011621335 201011621329 200811621320

朱剑峰 薛文博 刘彬

联系方式 13763009739 13726903356 15766274948 所在专业 所在班级 指导教师 成绩 教师签字

计算机科学与技术

1103 刘思凤

课程设计时间:2013年6月1日 至 2013年6月25日 评语:

广东海洋大学本科生课程设计报告

目 录

摘要 ...................................................................................................................................... 2 1 绪论 .............................................................................................................................. 3 1.1 1.2 1.3 1.4 2 2.1 2.2 3 3.1 3.2 课题背景 .............................................................................................................. 3 课程设计目的 ...................................................................................................... 3 课程设计实验环境.............................................................................................. 3 课程设计要求 ...................................................................................................... 4 程序界面布局设计.............................................................................................. 4 功能分析 .............................................................................................................. 4 系统功能结构图.................................................................................................. 5 模块功能设计 ...................................................................................................... 5 课程系统分析 .............................................................................................................. 4

系统设计与实现 .......................................................................................................... 5

3.2.1 “菜单栏”功能设计 ...................................................................................... 5 3.2.2 “动态音频播放进度显示”功能设计 .......................................................... 9 3.2.3 “歌曲搜索”功能实现 .................................................................................. 9 3.2.4 “歌曲播放/停止”功能实现 ...................................................................... 10 3.2.5 “列表展示”功能实现 ................................................................................ 11 4 系统优点与缺点 ........................................................................................................ 13 4.1 4.2 5 系统优点 ............................................................................................................... 13 系统缺点 ............................................................................................................... 13

系统开发过程 ............................................................................................................ 14 Myeclipse平台开发版本 ............................................................................................... 14 NetBeans开发平台版本 ................................................................................................ 15

6 设计总结 .................................................................................................................... 16

参考文献 ............................................................................................................................. 17 附

录 ................................................................................................................................. 18 关键代码 .......................................................................................................................... 18

1、 音乐解码函数(decodeMusic) ........................................................................ 18

2、 播放线程类(class PlayThread) ..................................................................... 20

3、 控制滚动条类(class RunSlider) ................................................................... 21

广东海洋大学本科生课程设计报告

摘要

JAVA是目前最流行的软件开发语言之一,称为网络上的“世界语”。JAVA适合开发基于多媒体、与平台无关、用面向对象的方法进行的基于Internet、Intranet、Extranet的Applet和应用程序。它具有简单高效、面向对象、不依赖于机器结构的特点,支持多线程、分布和并发机制。用JAVA开发的应用软件在可移植性、健壮性、安全性等方面大大优于已存在的其他编程语言。

JAVA是一门包含多种知识的学科,提供了丰富的类库,能最大限度地利用网络。JAVA可广泛用于面向对象的事件描述、处理面向对象的企业型的应用开发,还应用于Internet系统管理、Web页面设计、Internet可视化软件开发等方面。在学习的过程中我学到了许多以前没有学到的概念和新鲜资讯。运用这些知识可以完成老师交给我的课程设计任务。这次老师让我们自己拟订题目,给了我们很大的想象空间。我们自选了一个音乐播放器的课程设计题目。

本小组之所以选择做音乐播放器,全赖于本小组成员均对音乐有浓厚的兴趣,虽热衷于听音乐,但现在网上流传的音乐播放器还不能满足我们这些发烧友,像高清音乐等,这些高品质的作品若在现流行的播放器上运行,这只能做普通音乐文件“享用”。话说如此,因本小组开发能力有限,课程比较多,时间所限,以至暂且把音乐播放器开发到version0.9。主要功能还未能达到我们想要的境界。

小结一下,本小组的播放器所具备的功能有如下,添加音乐,删除音乐,搜索音乐,更换播放器皮肤,更改播放模式等。(详见2.2节)

本次设计的播放器在具备基本功能的基础上,还具有很强的扩展性,如歌词导入,可播放音乐类型的增加等等这些还未实现的地方我们都提供了许多接口,以便日后做修改或增加功能所用。

能够具备一个属于自己的播放器确实是一件非常高兴的事情,能够一边开发一边享受音乐的熏陶更是一件难得可贵的经历,愿此摘要能让读者感受得到笔者的兴奋与成功。

广东海洋大学本科生课程设计报告

音乐播放器

任务分工

系统设计与代码实现:朱剑峰 系统测试与维护:薛文博 需求与功能分析:刘彬 指导教师:刘思凤

1 绪论

1.1 课题背景

随着社会电子音乐文件的与日俱增,作为现在最流行的音乐文件*.mp3,*.wav文件的数量和规模也在比以往的任何时候要多,不论是电台DJ需要使用方便而有效地管理自己所使用的音乐文件,还是个人。在计算机日益普及的今天,若采用一套有效的音乐播放器。将自己所收藏的大量的音乐文件能随时随地的播放,这将方便于众用户听音乐的需求。通过使用本音乐播放器能为音乐爱好者带来意想不到的收获。

1.2 课程设计目的

《应用软件开发实习》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《应用软件开发实习》课程后,进行的一次全面的综合训练,程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

1.3 课程设计实验环境

程序运行在安装有windows操作系统的计算机上(台式机和笔记本),兼容windows 2K/XP/Vista/7/8 计算机硬件基本要求(仅供参考): 1. 2. 3. CPU:1G; 内存:512M. ; 显卡:256M显存;

文件播放:需要安装有声卡、要求安装有语音库。

JAVA程序设计语言及相应的集成开发环境,Myeclipse和Netbeans开发工具。

广东海洋大学本科生课程设计报告

1.4 课程设计要求

按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

2 课程系统分析

2.1 程序界面布局设计

(1) 创建一个JFrame类,类名为MyPlayer类。

(2) 向对话框中添加JSlider控件、JList控件、JLabel控件、JJToggleButton控件、MenuBar菜单、JPanel容器、JToolBar容器以及JScrolPanel容器。

(3) 设置所添加的控件的属性,以及使用Java的界面风格,本设计共使用了6种Java 的不同界面风格。

2.2 功能分析

MyPlayer播放器主要对常用Windows音频格式的文件实现播放控制:  主界面功能

 菜单栏功能

 添加音乐;

 添加音乐文件(即导入一个或多个音乐文件至列表当中);  添加音乐目录(即导入文件夹中所有的音乐文件至列表当中);  控制;

 随机播放;  顺序播放;  单曲循环;

 设置歌词(有待开发);  更换皮肤;

 默认、深海世界、迷人金属、香韵咖啡、骇客帝国、浪漫满屋(均为java的界面风格)

 关于;

广东海洋大学本科生课程设计报告

 帮助(记录作者的相关信息以及软件开发的日期);

 动态音频播放进度显示;

 正在播放歌曲在顶层的显示

 播放歌曲的时间长度的显示以及正在播放时间的长度的显示  滚动条随播放状态改变显示  歌曲搜索功能;

 根据关键字搜索对应的歌曲;  歌曲播放/停止功能;

 上一首;(播放上一首歌曲并根据播放模式来选择)  下一首;(播放下一首歌曲并根据播放模式来选择)  播放/停止;(播放或停止歌曲)

 双击播放/双击停止;(在列表中对指定歌曲的操作)  列表展示功能;

 隐藏/显示列表;  移除单个音乐文件;  移除所有音乐文件;

 显示当前歌曲数目,播放模式,皮肤情况;

3 系统设计与实现

3.1 系统功能结构图

MyPlayer播放器的功能结构图如图3-1。

主界面功能菜单栏功能动态音频播放进度显示歌曲搜索功能歌曲播放/停止功能列表展示功能

图3-1 主界面功能图

3.2 模块功能设计 3.2.1 “菜单栏”功能设计

“菜单栏”功能结构图如图3-2-1。

广东海洋大学本科生课程设计报告

菜单栏功能添加音乐添加音乐文件添加音乐目录控制更换皮肤关于随机播放顺序播放单曲循环种皮肤图3-2-1菜单栏功能结构

6帮助 3.2.1.1 “添加音乐”功能实现

当点击“添加歌曲/文件夹”选择“添加本地歌曲”或“添加本地歌曲文件夹”的时候,这时候会触发这两个JMenuItem事件,调用了open()函数(opendir()函数),即将选中的音乐文件(或文件夹内所有音乐文件)的信息(名称与路径)放入nameVector 和 urlVector 当中。并修改listCount的值,显示歌曲的总数,最后将nameVector的所有内容放入list列表当中。如图3-2-1-1。

图3-2-1-1 (左上)选择操作,(左下)选择目录,(右下)列表显示

广东海洋大学本科生课程设计报告

3.2.1.2 “控制”功能实现

当选择“控制”功能的任意一项,则会使全局的chosenMethod整型变量的值根据选择的项赋对应的值,值域为1(随机播放)、2(顺序播放)、3(单曲循环)。因播放器的播放功能是一个while(true)的循环,每当播放歌曲时候,播放前会由函数chooseNextSong()根据chosenMethod的值来选择下一首歌是那一首。

如果值是1,则会由[0,listCount(列表歌曲总数)],获取随机数,再根据play()函数播放;如果值是2,则根据chosenIndex(当前播放歌曲号),直接加一,再根据play()函数播放;如果值是3,则chosenIndex(当前播放歌曲号)的值不再修改,再根据play()函数播放;如图3-2-1-2。

图3-2-1-2(左上)选择操作;(左下)随机播放后歌曲序号, (此处为后台显示),起始播放第1首歌,下一首歌为第295首歌曲; (右侧)为列表显示,指向对应歌曲,并且列表底下显示“随机播放”

3.2.1.3 “更换皮肤”功能实现

当选择“更换皮肤”功能的任意一项,则会触发对应事件的发生,调用函数loadskin1()或loadskin2()等等。此时会调用LookAndFeel的类,指定java包含的皮肤风格。Loadskin1()对应“默认”,loadskin2()对应“深海世界”等等。

选择皮肤后,主界面底下会显示对应的提示,如选择了“浪漫满屋”,地下就会显示 “皮肤:浪漫满屋”。如图3-2-1-3所示。

广东海洋大学本科生课程设计报告

图3-2-1-3

(左)选项显示,(右)换肤后主

界面情况。

3.2.1.4 “关于”功能实现

当选择“帮助”功能时,则弹出信息窗口,提示本软件的开发时间与开发人员相关信息。如图3-2-1-4所示。

图3-2-1-4

广东海洋大学本科生课程设计报告

3.2.2 “动态音频播放进度显示”功能设计

当歌曲播放正在播放时,则顶层“正在播放”处会显示歌曲的名称,当歌曲名称过长时候,超长部分会用省略号显示。

同时会根据歌曲的格式,得到歌曲的长度,并显示在歌曲的右侧的JLabel fileTime中;另外会另起一个线程RunSlider来控制计时功能,每1秒钟,滚动条左侧JLabel runningTime 会根据播放的时间来修改,滚动条PlayerSlider则会每秒钟根据runingTime的值来移动。如图3-2-2所示

图3-2-2

正在播放歌曲中的动态播放进度显示。

3.2.3 “歌曲搜索”功能实现

在搜索栏中输入关键字,在回车确认,系统就会调用seachMusic()来搜索与关键字吻合的歌曲,并将其放入临时的Vector tmpName当中,并显示其到list列表当中。如图3-2-3-1

在临时的列表中选择所需要播放的歌曲,双击播放,同时临时列表消失,回复原来的列表,即导入nameVector的数据到list当中。

当点击“X”按钮,若还在临时列表当中,则会清除临时列表并且恢复原来的列表;若已经恢复到临时列表,则搜索框中会返回提示“请输入搜索关键字...”。

图3-2-3-1(上)搜索“陈奕迅”的歌曲

(下)取消搜索后,搜索框的内容

广东海洋大学本科生课程设计报告

3.2.4 “歌曲播放/停止”功能实现

“歌曲播放/停止”功能结构图如图3-2-4。

歌曲播放/停止功能上一首下一首播放/停止双击播放/停止

图3-2-4 “歌曲播放/停止”功能结构

3.2.4.1 “上一首”“下一首”功能实现

当点击“上一首”的按钮时,会根据按钮事件,若chosenMethod(播放方式)的值为1(即随机播放)则系统会调用chooseNextSong()来随机选择歌曲号来播放下一首歌;若chosenMethod不为1,则会调用previousMusic(),对chosenIndex(当前播放歌曲号)减一,再调用play()函数播放上一首歌曲。

当点击“下一首”的按钮时,会根据按钮事件,若chosenMethod(播放方式)的值为1(即随机播放)则系统会调用chooseNextSong()来随机选择歌曲号来播放下一首歌;若chosenMethod不为1,则会调用nextMusic(),对chosenIndex(当前播放歌曲号)加1,再调用play()函数播放下一首歌曲。

3.2.4.2 “播放/停止”“双击播放/停止”功能实现

当点击“播放/停止”的按钮时候,若点击了“播放”,则会显示“停止”,同时会对列表正在选中的歌曲进行播放。同时会触发“动态音频播放进度显示”功能(3.2.2节所介绍),更改或增加播放信息;

若点击了“停止”,则会显示“播放”,同时会对当前播放的歌曲进行停止,同样会触发“动态音频播放进度显示”功能,清除对应的显示。如图3-2-4-2

广东海洋大学本科生课程设计报告

图3-2-4-2 (左)“播放”

(右)“停止”

3.2.5 “列表展示”功能实现

“列表展示”功能结构图如图3-2-5。

列表展示功能隐藏/显示列表移除音乐文件显示列表信息

图3-2-5 “列表展示”功能结构

3.2.5.1 “隐藏/显示列表”功能实现

当点击“显示列表/隐藏列表”的按钮时候,若点击了“显示列表”,则会显示“隐藏列表”,同时触发该事件,将原来的JFrame大框架的长度减少440个单位;

若点击了“隐藏列表”,则会显示“显示列表”,同时触发该事件,将原来的JFrame大框架的长度增加440个单位。

隐藏与显示列表这一功能虽然非常简单,但其重要性不可忽视,对于现在许多用户对音乐播放器的要求,就如自己的手机或着MP3一样,小巧、灵活、精致,至此这一项功能对于本小组一开始的设计就算是一个亮点。如图3-2-5-1所示。

广东海洋大学本科生课程设计报告

图3-2-5-1 (左)隐藏列表,(右)显示列表

3.2.5.2 “移除歌曲”功能文件实现

当用鼠标对着列表的音乐文件右键的时候,会弹出两个选项“移除歌曲/移除所有歌曲”。

当选择“移除歌曲”,则对所选择的音乐文件从列表中移除,即事件的触发调用了deleteSingle()函数,将对应的项从列表中移除,从nameVector中移除,从urlVector中移除;

同理当选择“移除所有歌曲”的时候,事件触发调用deleteAll()函数,将列表清空,将nameVector中的元素清除。

以上两者运行过后均会更新主界面底层“歌曲数目”,并且停止正在播放的歌曲。

图3-2-5-2右键列表后出现的选择项

广东海洋大学本科生课程设计报告

3.2.5.3 “显示列表信息”功能实现

由“添加音乐”功能(3.2.1.1节)调用的open()、opendir()函数,会将保存在nameVector中的内容导入列表当中。当双击列表中的歌曲的时候,如果歌曲正在播放则会停止,如果播放器没有进行播放,则双击后就进行播放。

当我们对着列表右键时,则会弹出列表,“移除歌曲/移除所有歌曲”,详见(3.2.5.2节)

4 系统优点与缺点

4.1 系统优点

1、windows界面风格可选择性,如上如所述,本音乐播放器具有6种皮肤可以更换。这大大满足了一个娱乐性的软件的需要,并且皮肤起名也符合用户的感官需求,像“深海世界”、“浪漫满屋”这些贴切而休闲的词汇更能吸引用户对播放器的使用。

2、播放方式可选择性,对于喜欢听音乐的用户,会根据自己的需要选择一定的顺序来听音乐。

3、列表隐藏的功能,符合大众播放器的功能,将播放器的界面弄得小巧而精致,即使隐藏了列表也不妨碍主要的播放器功能。

4、搜索功能,随着网络的发达,音乐歌曲随处下载,人均播放列表的歌曲数目数以百计,这时候搜索功能就显得十分重要。本播放器根据关键字可以对列表进行搜索,并可以显示搜索后的列表,同时临时的列表不会缩减播放器功能。

4.2 系统缺点

1、本系统主要代码均在一个文件当中MyPlayer.java当中,由于本小组是用netBeans7.2.1开发平台开发的,对开发平台尚未了解,故暂且没有将代码弄得更具有可读性。

2、本播放器还缺少暂停功能,在开发的最后版本(Music_Player0.9fornetBeans)还在改进当中。期待1.0版本对此功能的实现。

3、本播放器对音乐文件的选择,仅仅.mp3文件以及.wav文件可播放。针对decodeMusic()解码函数的改善,尚未能解决。

4、本播放器缺少歌词设置、显示功能。由于本小组对播放器的主界面还未想到一个满意的设计,所以歌词的实现暂且没有实现,待界面设计得灵活的时候,再添加歌词的功能。

广东海洋大学本科生课程设计报告

5 系统开发过程

Myeclipse平台开发版本

Version 0.1

1、菜单栏

*文件包括“打开文件”“打开目录”“退出程序” *控制 -随机播放-顺序播放-单曲循环-设置歌词 *更换皮肤

*帮助-关于

2、上一首、下一首、停止/播放、隐藏列表4个button

3、帮助显示-关于 消息框。

Version0.2

1、能打开文件,显示文件名称在下面的框内,多个文件显示在框内!

2、文件-退出程序

实现

3、能够显示列表与隐藏列表

Version0.3

1、双击能够播放

2、暂停 跟 继续

新增

1、双击整个title 换成为歌曲名称 问题

1、隐藏列表/显示列表 list 会缩水

2、filedialog 没有选择任何文件 直接关闭会出现错误!(verson0.4中已解决)

3、双击空的列表也可以开始(version 0.6for netBeans 已经解决)

Version0.31 (Version0.3崩溃)

Version0.4

1、上一首,下一首 能够在列表中显示

2、上一首 下一首播放功能 新增:

1、打开文件可以多选

2、打开目录 可以把整个目录里面的MP

3、wav文件导出在列表中。

问题:

1、双击 第一次 是开始,第二次 是停止(相对于同一首歌,相对于其它歌会停止,

也不播放)(version 0.6for netBeans 已经解决)

2、播放完一首歌后,不能自动往下播放。(version 0.5forneatBeans 已经解决)

歌曲不能删除(version 0.6for netBeans 已经解决) 修改:

1、“打开文件”“打开目录”分别换成 添加本地歌曲,添加本地歌曲文件夹

Version0.5

1、皮肤(简单的颜色或者图片)

2、更换皮肤-可供选择

修改:

1、项目已经转至netbeans平台上开发,并明明为Music_Player0.5forneatBeans 新增:

1、快捷键 添加歌曲/文件夹 添加了快捷键 和 关于 加了快捷键

广东海洋大学本科生课程设计报告

Version 0.6

1、播放模式

2、删除功能 问题:

1、播放列表可以拉出来,播放到名字比较长的歌曲,list会变宽!(已经完全解决,删

除正在播放的label)

2、播放按钮,双击 未解决(version0.6已经修复), 上一首

下一首 置顶时候,以及

随机播放时候 下一首上一首序号问题!(version0.6已经修复)。

3、菜单项 选中后,没有特别标志(解决办法

1、换另外一种菜单项

2、选中菜单项后 字

体等改变)

selected 方法!是改变修改字体的!(version0.7添加1中 解决)

4、删除 单首歌,序号不能改变(version0.7已经修复) NetBeans开发平台版本

Version0.7 for netbeans

1、添加底下: 歌曲数目、播放模式、皮肤的显示

2、歌曲名前面有序号

3、音乐时间,以及滚动条

4、”正在播放“显示的问题 Version0.8 for netbeans

1、添加搜索模块

2、添加搜索功能

3、搜索功能->搜索列表播放功能 Version0.9fornetbeans

1、修改播放器软件运行时的图标(将java的图标换成“射手”图标)

广东海洋大学本科生课程设计报告

6 设计总结

JAVA是目前最流行的软件开发语言之一,称为网络上的“世界语”。JAVA适合开发基于多媒体、与平台无关、用面向对象的方法进行的基于Internet、Intranet、Extranet的Applet和应用程序。它具有简单高效、面向对象、不依赖于机器结构的特点,支持多线程、分布和并发机制。用JAVA开发的应用软件在可移植性、健壮性、安全性等方面大大优于已存在的其他编程语言。

JAVA是一门包含多种知识的学科,提供了丰富的类库,能最大限度地利用网络。JAVA可广泛用于面向对象的事件描述、处理面向对象的企业型的应用开发,还应用于Internet系统管理、Web页面设计、Internet可视化软件开发等方面。在学习的过程中我学到了许多以前没有学到的概念和新鲜资讯。运用这些知识可以完成老师交给我的课程设计任务。这次老师让我们自己拟订题目,给了我们很大的想象空间。我们自选了一个音乐播放器的课程设计题目。

课程设计的过程虽然是艰难而辛苦的,但是我却从中感到了快乐与欣慰。快乐是因为我以前对于JAVA的知识可以说是孤陋寡闻,但是通过这次课程设计我使自己的知识更加的丰富了,加大了自己的知识面。让自己的实力扩大了。所以我感到非常的快乐。欣慰是因为看着自己做出的课程设计得到了老师的认同,取得了成功。这次课程设计的整体过程是充实而满足的。

广东海洋大学本科生课程设计报告

参考文献

[1] (美) 埃克尔(Eckel , B.)著,《Java编程思想》(第四版)陈昊鹏译. 一北京: 机械工业出版社,2007.6

[2] 刁成嘉 著,《UML系统建模与分析设计》,机械工业出版社,2007.6

[3] 朱喜福 著,《Java程序设计》(第2版),清华大学出版社, 2009.10

[4] 辛运帏 著,《Java语言程序设计》(第1版) ,人民邮电出版社, 2009.10

[5] 叶核亚 著,《Java程序设计实用教程》 (第3版) ,电子工业出版社,2010.2

[6] 耿祥义,张跃平 编著,《Java面向对象程序设计》.一北京:清华大学出版社,2010.1

广东海洋大学本科生课程设计报告

关键代码

1、音乐解码函数(decodeMusic)

解析:由于java applet播放声音,对应的格式只有一些原始格式如.au、.Wav 、.Midi、 .rfm格式,因此一下的解码函数就非常必要了,即将MP3等其它格式文件的音频等格式修改成系统能够实现的格式,并写入内存由此来实现播放功能。详细实现请阅读如下代码。

public void decodeMusic(AudioInputStream in) {// 开始解码 MP3

AudioFormat format = in.getFormat();

AudioFormat decodedFormat = new AudioFormat(

AudioFormat.Encoding.PCM_SIGNED,// 音频编码技术

format.getSampleRate(),// 每秒的样本数

16,// 每个样本中的位数

format.getChannels(),// 声道数(单声道 1 个,立体声 2 个,等等)

format.getChannels() * 2,// 每帧中的字节数

format.getSampleRate(), false);// 每秒的帧数和是否以 big-endian // 字节顺序存储单个样本中的数据

// 然后重新获取一个新的输入流,

AudioInputStream decodeIn = AudioSystem.getAudioInputStream(

decodedFormat, in); /**

* 源数据行是可以写入数据的数据行。它充当其混频器的源。 应用程序将音频字节写入源数据行,这样可处理字节缓冲并将它们传递给混频器。

* 混频器可以将这些样本与取自其他源的样本混合起来,然后将该混合物传递到输出端口之类的目标 (它可表示声卡上的音频输出设备)。

* */ SourceDataLine sdl = null; // 然后

DataLine.Info info = new DataLine.Info(SourceDataLine.class,

decodedFormat); try {

/**

* AudioSystem :类充当取样音频系统资源的入口点。 此类允许查询和访问安装在系统上的混频器

* **/

sdl = (SourceDataLine) AudioSystem.getLine(info);

sdl.open(decodedFormat);

} catch (Exception e) {

广东海洋大学本科生课程设计报告

e.printStackTrace(); } /** 指示该行是否支持特定类型的控件。 */ if (sdl.isControlSupported(FloatControl.Type.PAN)) {

// FloatControl 对象提供对浮点值范围的控制

FloatControl pan = (FloatControl) sdl

.getControl(FloatControl.Type.PAN);

if (curPosition == Position.RIGHT) {

pan.setValue(1.0f);

} else if (curPosition == Position.LEFT) {

pan.setValue(-1.0f);

} }

sdl.start(); int nBytesRead = 0; byte[] abData = new byte[EXTERANAL_BUFFER_SIZE]; try {

while (nBytesRead != -1) {

// 文件流的读写

nBytesRead = decodeIn.read(abData, 0, abData.length);

if (nBytesRead >= 0) {

sdl.write(abData, 0, nBytesRead);

}

} } catch (Exception e) {

e.printStackTrace();

return ; } finally {

// 通过在清空数据行的内部缓冲区之前继续数据 I/O,排空数据行中的列队数据。

sdl.drain();

sdl.close(); }

}

广东海洋大学本科生课程设计报告

2、播放线程类(class PlayThread)

解析:本播放器只使用一个线程来实现歌曲播放的功能,若用户要更换歌曲或者停止音乐,则对线程重建,即杀死原线程再建立新的线程,其实现的效果还是跟原来线程一样。同时此线程包含了许多子功能,如更改播放模式,对“上一首”“下一首”显示“正在播放”等功能均在此线程上实现。详细内容请阅读如下代码。

class PlayThread extends Thread{

public void run() {

while(true){

try {

setInitShowing();//初始化滚动条以及计时label 的值

isStop = true;//标志状态,说明是停止了

filename = (String) nameVector.get(chosenIndex).toString();//取chosenIndex对应的歌曲名称

filepath = (String) urlVector.get(chosenIndex).toString();////取chosenIndex对应的歌曲路径

System.out.println("我在播放:"+chosenIndex+" "+filename); //后台输出检测

/*设置“正在播放”的值,只输出前23个字符,以免超出长度,后面补...*/

String showName = null;

if(filename.length()>23){

showName = filename.substring(0, 23) + "..";

}else{

showName = filename;

}

showTileOfMusic.setText("正在播放:"+showName);

File file = new File(filepath);

setTitle(filename);

list.setSelectedValue(nameVector.get(chosenIndex), true);

listIndex = chosenIndex;

stporplySongButton.setText("停止");//修改 停止/播放button的状态值

AudioInputStream in = AudioSystem.getAudioInputStream(file);//去音乐文件

AudioFileFormat aff = AudioSystem.getAudioFileFormat(file);//去音乐文件的格式(为了得到歌曲长度)

musicLength = aff.getFrameLength()/aff.getFormat().getFrameRate();//取音乐文件的长度

System.out.println("我有那么长:"+musicLength);//后台显示,用于检测

setShowingTime(musicLength,fileTime);//显示总长度到fileTime label中

PlayerSlider.setMaximum((int)musicLength);//并且设置滚动条的最大值

isStop = false;//设置正在播放状态

hasStop = false;//设置正在播放状态

decodeMusic(in);//解码并播放

isStop = true;//播放完毕后设置回非播放状态

hasStop = true;

广东海洋大学本科生课程设计报告

chooseNextSong();//选择下一首歌返回while

} catch (Exception e) {

//e.printStackTrace();

System.out.println("刚才那首歌出错了!");//如果出现错误,则显示直接跳至下一首歌

nextMusic();

}

}

}

}

3、控制滚动条类(class RunSlider)

解析:此类虽然简短,但其能动态实现滚动条以及播放时间的运动。其中setShowingTime()方法提供的接口十分灵活,能够对不同空间进行时间的控制,本播放器只对播放时间的两个JLabel实现了此功能,这大大提高了本播放器的可扩展性。详细内容请阅读如下代码。

class RunSlider extends Thread{

public void run() {

try {

musicCouter = 0;

while(true){

Thread.sleep(1000);//每秒钟滚动一次

musicCouter++;

PlayerSlider.setValue((int)musicCouter);

setShowingTime(musicCouter, runingTime);//转换时间并显示回去runingTime label

}

} catch (InterruptedException ex) {

Logger.getLogger(MyPlayer.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

21

上一篇:119消防日消防培训下一篇:java实训心得体会