河南工业大学

课程设 计

课程设计名称: ja  a qq聊天系统

学生姓名 : x  aoy   

指导教 师: 王高平

课程设计时间: 2016.7.7

计科 专业课程设计任务书

说明:本表由指导教师填写,由教研室主任审核后下达给选题学生装订在设计(论文首页1需求分析

运用java语言实现一个qq聊天局域网系统主要功能实现信息的相互交流,整个程序分三个大模块第一个模块是服务器端的设计第二个模块是客户端的实现第三个模块是数据库连接的实现。主要实现一个客户端发送串字符信息,另一端客户端能接受(在一个局域网下 同时建立了一个数据库(my ql  用于注册用户,同时存储用户的信息以及找回密码要用到的密保问题答案。

2 概要设计

主要类:

Jqq 类:主要是登录窗口

Ce  l类:按钮类

Fi  dp  s word.java:找回密码类

Loo :注册窗口

Lookpa  swo  d.java:查看密码窗口

Reg  s  er.java:注册账号类

J vaysql .jav 数据库类连接数据库。3运行环境软、硬件环境

i  dow,6 位pc机,jv j   a虚拟机)4 开发工具和编程语言

  i  s ,java

5详细设计

Server. java 实现一个小型的服务器)

ackage sever.n ipr jav io.  ;import java.net.* 

mport  ava.util.*;pblic class Se r 

boo  ean tar d= fa se;

S e ve  ocet s =null;

L  s  l e ts  newrraList

 n Sevr() .t  t(  ;

}

ubl  c vo   tar () try{

s = eS rverSocket(999) ;st a   e d =true;

}catch (B  ndxcept  on ) {

Sys  em.ou  .print    "端口使用中. . .);

Sytem out.printl ("请关掉相关程序并重新运行服务器!   ; Sys  em. x   () 

} ctch  IE x c e ptin e) {

e.printtacTrae  ) 

 }

try 

 hil  st art e) {

 So ke  s = ss accet() 

 lien  c=ne w lient(s  ;

 Syste o  .print  n  "a l ent cnnecte !"); nw T re  (c) start(  ;

clien  s ad (c  ;

 / dis clse( ) ;

}

} c  ch  IOExceptio e  {

.print  ackTrace( ) ;

 }f nlly{

tr {

ss clos  );

  catch (IE cp   o  e) {

/ TOD Aut-generatd atc bloc

 e.prin St kT   e( ) ;

 

 

}

class Client mplementsunnabl {

pr  v  e cet  

privat D taI ut Stra m   s  n ul  ;

privateat a O      S  read o s =   l ;

  ivateb lean bC nected= false;

 public Cliet S ocket s) 

 this.s  s;

t  {

 di =nw D a  I ut Stre s.etIp uttrem  ) )  os =nw D taOutputtram(s.getutputt am  )  

C n n td =true;

 } catch (IExept  on ) {

.printS   kTrace( ) ;

 }

 }

pub  ic oid snd  String tr) {

 tr {

  d o s.write U T F(str) 

}catc (IOExcept  on e) {

c   e nts  e m oe  his);

y s  e m. u  .r n  ln("对方退出了我从Lit里面去掉了   ; // e rintStackTrace( ) ;

}

}

ubli vo  d run(    /线程体

 tr {

w  ile (bConnected  {

  tri     = di .red U T F( ) ;

 S yte m.o ut.pr  ntln(tr);

  f or  in  = 0; i< cli t s.s  z e   ;  +) {

 lient c  cl  nts.get(i 

 c.s e n d  str);

 }

}

 } atch (O F E  eption ) {

System.ot.println("   e t clsed!");

 }catch (IOEceptio e) 

.p  tStackrac   ;

} finlly {

  ry{

 if  di s != ul  )

 is.close( ) ;

 if (dos  =nll

dos.close( ) ;

 if (s  = n ll) {

s.clos (  ;

      = ull 

  

   cath (IOEcetin e1) {

 1.pr  nttakTra  (  

 }

 

}

}

}

Jq 类:登录的窗口类package   .xiaoy g co;imp ort ja .awt.Clor;ip  tjava.awt Font;

mpor  jaa.awt een  .ActionEvnt;mpo  t j a.awt.event Ac  ioLitenr;m ort ja .awt event.ouseEvn  ;impor jaa w  .eent.ouseListen  ipo  tjav.ql Co neti  impor  va sl.PrparedState   impor ja .q  .Resu  tSet imprt  aa.sql.SQLEcept  o ;impor java sql.S  atment importj ax.sw  ng.ImaeIcon 

 rt jaax w  ng JButto impo  t  aax.swing.JF  a;

ort javx.ing.JLabe  ;impor java.si .P   l;

prt java.si .JPassworFildimo  t j   .swig. Tex  F  eld;

publicc  as Jqq xtend Frm    ments Mo seL  stener {privat stti final lng sria Versin UID  1 L;public st  ic voi m in Str  ng args[]  

JqqF f e JqF  );

 pb  ic tati JTxtField n a m e = n J   Field(0) 

JLabe  neLa =ne J bel(号:") p licstaticJPasswrF  eldnam =new JassworFiel  2);JLabelnmeLa =new Lbel();

Strig pat5  "  c//.png";

// 背景图片

IageIo  backrond =nw IaeIo  (ath5  ;

ell b ut=n ec ell(b a c k gr o u n d);

F o nt nt =nw F o    "S e  ief") ;

trig    h4 = "pi//  . g  ;

ImagIcon bckgro d4 = nw Imag  cn(ath);c el  bt=n e ellb a c kr  d 4 );

String pt3 = pic  /b.png  

ImagIcon bacground =nw ImgeIcn(pa  h3  cell t2= new cl (bckgroud3  ;

t ig path  "pic//q. g" 

Iage   nbac   ou   =nw ImageIco (path2  ;

JLabel  abl  nw JLab  (   grou 2) public Jqq () {

super("q测试);

t is setSize(0  334) ;ti .   L o c a  io (300, 200) ;this.setVisib  e(tre);

St  ing a  h = "pic//qq.png";

// 背景图片

 ImagIcon acground=ne  magIco path) ;

  /把背景图片显示在一个标签里面

JLael label=n Lbel(bacg  und) ;

 a b el.s et y o ut(u    ;

//把标签的大小位置设置为图片刚好填充整个面板

lbel stBo ds(, 0,th s.gtWid h( )  t  s.e  eight() ) ;

//把内容窗格转化为JPanel 否则不能用方法setOpaqe  )来使内容窗格透明JPa     mageP n  = (JPanl th  g  Contetan () 

igPanel.s  Op qe(  le);

//把背景图片添加到分层窗格的最底层作为背景

nameLb setont(fnt);naLab.s  Fo     oun lor.yellow) ;

 a m  a.se  Fn  (fn );

  e L a.etF ore gro un (olo  .ellw) ;

 name ab.etBuds(160, 12  100  30) ;

 t setBoun  (36, 120, 72, 0  

bt addActioLitener(newctionLis  ener() {

 O    r e

 ubl  c voi    ionP e  ford ctioEvent e) {

rgiter =n e w  e  s  r(  

 

   ;

 name.e  Bounds  2 ,  20, 10, 30) ;

 n a mL s et B n  (16,  60  10, 3);

 am se  Bo ns(250,  0  10  30) 

 b  2 .setBouns( 0, 160, 7, 0) ;

t.adActi L  tene  newctionListnr ) 

@ O v e  rid

 pul c o   ac  in  form  (Ac  ionEvn  ) { ew fidpssword(  ;

});

//  /nam.setColmns  20) ;

lae  2 setBounds  65, 120 ;

 ut se  Bounds(185, 2  0   47, 0) ;

 u  dMouseListener(this);lae  .   (am Lab) ;

 lbel ad (bt  ;

labl.dd(b  2) la l.add  na);lael ad(am La);

  abl add(  abel2  ;labe  .ad  na m   ;

java课程设计qq,模块java课程设计报告qq聊天相关推荐

  1. java核心教程_核心Java教程

    java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...

  2. java编写类骑士游历_java课程设计骑士游历程序的开发

    java课程设计骑士游历程序的开发 JAVA程序设计 课程设计报告 课 题: 骑士游历程序的开发 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 2013.06.10 评阅意见: ...

  3. java课程设计总结迷宫_Java课程设计走迷宫详解.doc

    Java语言与面向对象技术 课程设计报告 ( 2014 -- 2015年度第 1 学期) 走迷宫 目 录 目 录2 1 概 述1 1.1 课程设计目的1 1.2 课程设计内容1 2 系统需求分析2 2 ...

  4. java坦克大战总体功能设计_java课程设计——坦克大战

    ##一.团队课程设计博客链接: ##二.个人负责模块或任务说明: ###模块:GUI设计(游戏面板,登录面板,主窗体,显示关卡面板) ##三.自己的代码提交记录截图 ##四.自己负责模块或任务详细说明 ...

  5. java打字训练课程设计_Java打字训练课程设计

    Java打字训练课程设计 软 件 学 院课程设计报告书课程名称 设计题目 专业班级 学 号 姓 名 指导教师 年 月目录1 设计时间 12 设计目的 13 设计任务 14 设计内容 14.1 需求分析 ...

  6. java猜数字游戏总结,java课程设计——猜数字游戏

    java课程设计--猜数字游戏 目目 录录 前言. 1 正文. 1 1 1.设计任务与要求.设计任务与要求 1 1.1 1.1 设计任务与要求设计任务与要求 1 1.2 1.2 选题目的与意义选题目的 ...

  7. 斗地主Java课程设计_JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记录 注:这里只有部分提交记录,详细的提交记录在团队 ...

  8. java设计课程数学生数_JAVA课程设计小学数学算数测试软件.pdf

    软 件 学 院 课程设计报告书 课程名称 面向对象程序设计 设计题目 小学数学测试软件 专业班级 学 号 姓 名 指导教师 2014 年 6 月 目 录 1 设计时间3 2 设计目的3 3 设计题目3 ...

  9. 操作系统分区分配java算法_合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc...

    合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc 1课程设计动态分区分配存储管理设计题目学号专业班级学生姓名号指导教师22010年12月合肥工业大学课程设计任务书设计题目动态分区分 ...

最新文章

  1. AI如果耍起了心眼,人类就像个白痴......
  2. Liunx安装JDK,tomcat,mysql的依赖包命令
  3. 监控zabbix面试题
  4. mysql支持UUID做外键_Mysql中以uuid为外键插入多条数据,怎样实现同一个二级分类外键关联的数据为同一个uuid的值...
  5. PHP性能如何实现全面优化?
  6. python计算机视觉编程调试问题
  7. mysql-5.5.50-winx64
  8. hashmap java 便利_java HashMap 循环遍历map的方法
  9. 答网友问:如何按月进行统计公司采购进货、销售出库信息?
  10. 根据录入的计算公式计算_预制桩极限承载力标准值快速计算方法研究
  11. maven项目打包成可执行的jar
  12. 《人工智能 一种现代方法》第三版 第1章 概述 笔记摘录
  13. CDA数据分析师Level_1大纲最全解析
  14. MATLAB中pdetool工具求解泊松方程和Laplace方程
  15. 辞职专心造火箭,贝佐斯能追上马斯克吗?
  16. 每日一题 导数的应用
  17. STM32 PB3或者PB4不能正常使用的讲解
  18. 对口升学考试计算机专业好考吗,2017届对口升学考试计算机专业月考三试题
  19. LQ0116 方格计数【数学计算】
  20. Linux日志怎么分析

热门文章

  1. python的标准库学习之__buitin__
  2. aria2c下载迅雷离线
  3. Oracle 数据库管理脚本 命名规范
  4. 流水线冒险及解决方法
  5. php安装redis扩展‘checking for igbinary includes... configure: error: Cannot find igbinary.h‘解决方法
  6. 怎样在xcode5中使用低版本sdk,解决兼容ios7ui问题
  7. 深度模型推理在腾讯游戏的应用与实践(王者荣耀、和平精英等均有应用)
  8. Python实战从入门到精通第十八讲——改变对象的字符串显示
  9. duri oracle 连接字符串_C#连接Oracle数据库的连接字符串
  10. spm on mysql_Announcement: MySQL Performance Monitoring in SPM_MySQL