- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA课程设计报告1300370110.doc
《Java程序设计》课程设计报告
题 目: 语音QQ仿真
学 院:计算机科学与工程
专 业:物联网工程
学生姓名: 高永欢
学 号: 1300370110
指导教师:
2015年 6月25日
目 录
目 录 2
1. 前言 1
2. 需求分析 1
3. 概要设计 1
4系统详细设计(根据你自己课题功能设计不同函数,此处称为模块) 5
4.1 QQ软件登陆模块设计 5
4.2 好友列表模块设计 5
4.3聊天窗口模块设计 5
4.4 语音接收与发送线程模块设计 5
4.5 文本接收与发送线程模块设计 5
5. 测试 1
6. 总结 1
参考文献 2
附录 2
语音QQ仿真
课程设计目的
1.加深对《Java语言与面向对象技术》课程基础知识的理解,掌握Java语言面向对象程序设计的开发方法和步骤;
2.进一步理解面向对象程序设计的思想和方法,利用Java语言进行程序设计的能力;
3.课程设计将课本上的理论知识和实际应用相结合,锻炼学生发现问题、分析问题和解决问题的能力。加强学生研发、编写、调试程序的能力;
4.培养学生在项目开发中团队合作精神、创新意识及能力;
5.提高学生科技论文写作能力,规范完成课程设计报告。
前言 2 需求分析
由于对QQ原理的好奇,加之听说某高校的毕业设计就是编译一个完整的QQ。于是对QQ聊天软件产生兴趣,既方便后人学习模仿,又有利自身的学习。既然是模仿,首先界面要相像,要有登陆界面,好友列表,聊天窗口。然后是基本的功能问题,要实现QQ文字聊天,语音聊天,还要能发送文件。
3 概要设计
系统的功能模块划分
用到的文件大小共15个,功能流程:首先是登录界面,输入密码正确,才能进入好友列表,进入好友列表后,能侦查到附近的好友在线,点击好友的头像即可进入聊天窗口,聊天窗口中,可实现文本聊天,语音按钮实现语音聊天,文本传送实现文件传送。
如下是各个窗口类之间的功能流程图
3.2 主体功能
1,实现基本的一对一聊天,实现同时与多人聊天
2,实现好友列表,并可随时添加好友。
3,有本地好友列表可储存固定好友。
4,能实现一对一语音对话聊天
5,实现一次性的中小文件远程传送
2.详细设计(根据你自己课题功能设计不同函数,此处称为模块)
4.1 QQ软件登陆模块设计
效果图
类的主要成员变量和方法
private JPanel contentPane;
private JPasswordField passwordField;
JLabel lblNewLabel = new JLabel(New label);
Icon icon=new ImageIcon(D:\\a.png);
JButton btnNewButton_1 = new JButton(New button);
JLabel m_newlabel_1 = new JLabel();
JButton btnNewButton = new JButton(\u767B\u5F55);
JLabel lblNewLabel_1 = new JLabel(New label);
Icon icon_1=new ImageIcon(D:\\b.png);
Icon icon_3=new ImageIcon(D:\\c.png);
主要程序代码
char[] m_Key={a,b,c,1,2,3};
public void actionPerformed(ActionEvent arg0)
{
char[] password1 = passwordField.getPassword();
for(int i=0;ipassword1.length;i++)
{
if(password1.length!=m_Key.length)
{
m_newlabel_1.setText(6位密码);
break;
}
else if(m_Key[i]!=password1[i])
{
m_newlabel_1.setText(密码错误!!);
break;
}
else if(m_Key[i]==password1[i](i==m_Key.length-1))
{
this.dispose();
TestFrame applicati
文档评论(0)