客戶(hù)端帶聊天記錄_第1頁(yè)
客戶(hù)端帶聊天記錄_第2頁(yè)
客戶(hù)端帶聊天記錄_第3頁(yè)
客戶(hù)端帶聊天記錄_第4頁(yè)
客戶(hù)端帶聊天記錄_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、package GroupChat;import java.awt.Button;import java.awt.Color;import java.awt.Frame;import java.awt.BorderLayout;/import java.awt.Label;import java.awt.Panel;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.eve

2、nt.WindowAdapter;import java.awt.event.WindowEvent;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import .ConnectException;impor

3、t .Socket;import .SocketException;import java.text.SimpleDateFormat;import java.util.Date;public class extends FrameFrame f ;String client_name=null ;final TextArea dsp =new TextArea(;final TextField msg =new TextField(;Panel p =new Panel(;Button b =new Button("Sent" ;Socket client =new So

4、cket(;/客戶(hù)端 socketboolean connected =false ;BufferedReader in ;PrintWriter out ;SimpleDateFormat sdf =new SimpleDateFormat("HH:mm:ss" /設(shè)置時(shí) 間格式為時(shí)分秒public void disconnect(/連接終止時(shí)關(guān)閉流信息和 sockettry out .close(;in .close(;connected =false ;client .close(;catch (NullPointerException ee.printStackTr

5、ace(;catch (IOException e1 / TODO Auto-generated catch blocke1.printStackTrace(;public void connect(/與服務(wù)器端取得連接tryclient =new Socket("127.0.0.1" ,8885;/獲得用戶(hù)端 socket 上的流信息in =new BufferedReader(new InputStreamReader(client .getInputStream(;out =new PrintWriter(client .getOutputStream(; conne

6、cted =true ;System. out .println("connected" ;catch (ConnectException connExcSystem. err .println(" 服務(wù)器連接失敗! " ; catch (IOException ee.printStackTrace(;class MyThread implements Runnable/建立線程讀取信息 boolean bconnected ;MyThread(boolean conbconnected =con;public void run(String read=

7、null ;while (bconnected try read=in .readLine(;/讀取客戶(hù)端的流信息,有內(nèi)容讀入, 無(wú)內(nèi)容掛起System. out .println(read+" has received"/寫(xiě)到 文件,保存聊天記錄File file=new File("D:"+client_name+" 的聊天記 錄 .txt" ;if (!file.exists(file.createNewFile(;FileWriter fwriter=new FileWriter(file,true ; /獲 得文件的輸出流,

8、追加方式BufferedWriter bwriter=newBufferedWriter(fwriter;bwriter.write(read;/寫(xiě)內(nèi)容bwriter.newLine(;bwriter.flush(;/清空緩沖區(qū),立即將輸出流里的內(nèi)容寫(xiě) 到文件里bwriter.close(;/關(guān)閉文件流,釋放資源fwriter.close(;/*try的 聊天記錄 .txt"catch(IOException eSystem.out.println("好像打不開(kāi)呢 ! " e.printStackTrace(;*/Frame record=new Frame(cl

9、ient_name+" 的聊天記錄 " ; record.setSize(500,400;record.setBackground(Color.cyan ;record.setLayout(null ;TextArea tr=new TextArea(;tr.setSize(400, 300;tr.setLocation(50, 50;record.addWindowListener(new WindowAdapter( public void windowClosing(WindowEvent e System. exit (0;record.add(tr;record.

10、setVisible(true ;/ File file=new File("D:"+client_name+"的聊天記 錄 .txt"if (!file.exists(System. out .println(" 對(duì)不起,還沒(méi)有聊天記錄 " ; FileReader freader=new FileReader(file;BufferedReader breader=newBufferedReader(freader;String str=breader.readLine(;while (str!=null tr.append(st

11、r+'n'str=breader.readLine(;breader.close(;freader.close(;out .flush(;dsp .append(read+"n" /追加的方式顯示服務(wù)器發(fā)來(lái)的信 息catch (SocketException eSystem. out .println("socket 關(guān)閉,已退出 " ;bconnected =false ;catch (NullPointerException ee.printStackTrace(;catch (IOException e / TODO Auto-ge

12、nerated catch block e.printStackTrace(;public void Construct(/構(gòu)造登陸界面final Frame front=new Frame("Login" ; front.setSize(450,250;front.setLayout(null ;front.setBackground(Color.pink ;Panel pfront=new Panel(;pfront.setSize(320,150;pfront.setLocation(50,50;pfront.setLayout(null ;pfront.setBac

13、kground(Color.white ;front.add(pfront;TextField ta=new TextField(;ta.setEditable(false ;final TextField name=new TextField(; ta.setBackground(Color.lightGray ;Button login=new Button("LogIn" ;login.setBackground(Color.lightGray ; ta.setSize(75,20;ta.setLocation(50,30;ta.setText(" 用戶(hù)名

14、:"name.setSize(155,20;name.setLocation(125,30;login.setSize(70,30;login.setLocation(100,100;pfront.add(ta;pfront.add(name;pfront.add(login;front.setVisible(true; login.addActionListener(new ActionListener(/點(diǎn)擊登陸按鈕進(jìn) 入聊天界面 public void actionPerformed(ActionEvent e String na=name.getText(; f=new Fr

15、ame("Client-"+na; client_login(f,na;/向聊天界面?zhèn)魅胗脩?hù)姓名 front.setVisible(false;/當(dāng)前登陸界面設(shè)置為隱藏 ; front.addWindowListener(new WindowAdapter( public void windowClosing(WindowEvent e System.exit(0; ; public void client_login(Frame f,String name /聊天界面 client_name=name; f.setSize(600,400; f.setBackground

16、(Color.pink; p.setSize(500,300; p.setLocation(50,50; p.setLayout(new BorderLayout(; dsp.setEditable(false; dsp.setBackground(Color.white; p.add(dsp,BorderLayout.CENTER; p.add(msg,BorderLayout.SOUTH; f.setLayout(null; f.add(p; b.setBounds(500, 360, 80, 30; f.add(b; f.setVisible(true; connect(; MyThre

17、ad mythread =new MyThread(connected; Thread thread=new Thread(mythread; thread.start(; b.addActionListener(new ActionListener(/點(diǎn)擊發(fā)送按鈕,向服 務(wù)器發(fā)送用戶(hù)姓名,當(dāng)前時(shí)間,以及想要說(shuō)的話(huà) public void actionPerformed(ActionEvent e String s=msg.getText(.toString(;/獲得輸入框中的內(nèi)容 out.println(client_name+" ( "+sdf.format(new Date(+" : "+s;/將要發(fā)送的信息寫(xiě)到輸出流中 System.out.println

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論