java课程设计qq,模块java课程设计报告qq聊天

河南工业大学

课程设 计

课程设计名称: 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)