九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

《Java程序設計》課程設計報告簡易聊天室系統(tǒng)

  • 資源ID:28300983       資源大?。?span id="24d9guoke414" class="font-tahoma">881KB        全文頁數(shù):54頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

《Java程序設計》課程設計報告簡易聊天室系統(tǒng)

Java程序設計課程設計報告華 北 科 技 學 院課程設計說明書班級: 信息與計算科學B091 學號: 姓名: 設計題目: 簡易聊天室系統(tǒng) 設計時間: 2011.12.26 至 2011.12.30 指導教師: 評 語:_ _評閱成績: 評閱教師: 目錄1 引 言11.1課程設計選題11.2課程設計的目的11.3本選題的設計背景12.1 功能需求12.2 系統(tǒng)的開發(fā)運行環(huán)境22 總體設計23.1 系統(tǒng)體系結構設計23 詳細設計與實現(xiàn)34.1 登錄模塊34.2 客戶端注冊界面模塊54.3 客戶端聊天模塊84.4 服務器端模塊104 小結和展望13參 考 文 獻14附 錄15使用說明書15源程序清單18-52-1 引 言1.1課程設計選題簡易聊天室系統(tǒng)1.2課程設計的目的使學生鞏固和加深以Java 語言為基礎的面向對象編程技術理論知識的理解,提高實際動手編程能力的培養(yǎng),掌握以Java為核心的應用軟件開發(fā)方案,達到能獨立閱讀、編制和調試一定規(guī)模的Java程序的水平。1.3本選題的設計背景聊天是是網(wǎng)絡中廣泛應用的服務之一,特別是現(xiàn)在信息社會對聊天的依賴也越累越大,我們品是在生活中很多人都在用的QQ就是一種很好的聊天工具,它不僅只是聊天那么簡單,其它的功能也非常強大。基于Java語言在網(wǎng)絡編程中的廣泛應用與我們基本每時每刻都在接觸的聊天系統(tǒng)。我選擇嘗試對一簡單的聊天系統(tǒng)進行開發(fā)。對本聊天系統(tǒng)開發(fā)的意義:網(wǎng)絡聊天系統(tǒng)交流是系統(tǒng)的關鍵目的所在,能讓我們在簡單的語句中對復雜社會的了解;交流的過程中使得人與人之間距離徹底拉近,就像面對面的交談彼此之間沒有界限,沒有差別,只有心與心的共振。它沒有壓抑,只有爭論,就是心靈之間的一種平臺。也是另一種交友的一種重要方式。缺少它你會感覺沒什么,但是你一旦有了它你會發(fā)現(xiàn)它是那么的重要。需求分析在信息社中,信息是第一手資料,人們聊天也是信息的傳播。曾經的會議及面談已不再發(fā)揮主宰作用了,隨著各種聊天工具的上市,大家都對聊天產生濃厚的興趣,聊天系統(tǒng)的存在也有了很大價值。2.1 功能需求用戶角度考察系統(tǒng)應具有哪些功能及非功能性需求。能實現(xiàn)用戶注冊、用戶的登錄、各客戶端能連接起來,服務器能與客戶端相連實現(xiàn)用戶之間信息的發(fā)送與共享。2.2 系統(tǒng)的開發(fā)運行環(huán)境本系統(tǒng)開發(fā)平臺: Java 本系統(tǒng)集成開發(fā)環(huán)境:MyEclipse本系統(tǒng)運行環(huán)境: windows 7 2 總體設計3.1 系統(tǒng)體系結構設計聊天系統(tǒng)客戶端服務器用戶登錄用戶注冊建立連接監(jiān)聽客戶用戶數(shù)據(jù)操作聊天交互3 詳細設計與實現(xiàn)4.1 登錄模塊1.功能設計(1)主要實現(xiàn)用戶的登錄與注冊。2.界面設計圖1 登錄窗口3模塊主要算法(1)事件的處理方法public void actionPerformed(ActionEvent e) Object source = e.getSource();/"確定"按鈕 if(source = btnOk) btnOkClick();/"取消"按鈕if(source = btnCancle) btnCancleClick();/“注冊”按鈕if(source = btnRegist) btnRegistClick();(2)單擊btnOk按鈕處理方法private void btnOkClick() String username = txtName.getText();String userpwd = new String(txtPwd.getPassword();if(username.equals("") JOptionPane.showMessageDialog(btnOk,"“用戶名”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if(userpwd.equals("") JOptionPane.showMessageDialog(btnOk,"“密碼”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if (userpwd.equals("haiersoft") /默認密碼“haiersoft”/驗證通過,隱藏登錄窗口,顯示聊天主窗口this.setVisible(false);/FrmMain frmMain = new FrmMain();JFrame frmMain = RongQi.getFrm("FrmMain");if (frmMain = null) frmMain = new FrmMain ();RongQi.putFrm("FrmMain", frmMain);/FrmMain frmMain = new FrmMain();frmMain.setVisible(true); else JOptionPane.showMessageDialog(btnOk,"錯誤的用戶名或密碼","提示",JOptionPane.WARNING_MESSAGE);4調試與測試 調試過程當中,遇到密碼文本框設計沒有和實際設計符合,最后通過同學的一起解決了這個問題;在處理“取消”的事件時出現(xiàn)一點小錯誤,經過反復調試及對程序的時間分析發(fā)現(xiàn)將“取消”這個事件的處理錯寫為“確定”按鈕。4.2 客戶端注冊界面模塊1.功能設計(1)有用戶的用戶名、昵稱、密碼、性別和頭像的選擇,用這些信息來實現(xiàn)用戶的注冊。2.界面設計圖2 注冊窗口3模塊主要算法 (1)創(chuàng)建一個頭像柵格布局指定的行數(shù)和列中。所有的部件都享有同等的布局的尺寸。JPanel pimg = new JPanel(new GridLayout(2,5);ButtonGroup bgimg = new ButtonGroup();for (int i = 0; i < ckbImage.length; i+) ckbImagei = new JRadioButton(String.valueOf(i + 1),new ImageIcon("images/"+(i + 1) + ".gif");ckbImagei.addItemListener(new ImageLIstener();bgimg.add(ckbImagei);pimg.add(ckbImagei);/頭像讀取(2)單擊btnOk按鈕處理的方法private void btnOkClick() String username = txtName.getText();String nickname = txtNickname.getText();String userpwd = new String(txtPwd.getPassword();String repwd = new String(txtRePwd.getPassword();int sex = 0;if (rbFemale.isSelected() sex = 1;if (username.equals("") JOptionPane.showMessageDialog(btnOk,"“用戶名”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if(nickname.equals("") JOptionPane.showMessageDialog(btnOk,"“昵稱”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if(userpwd.equals("") JOptionPane.showMessageDialog(btnOk,"“密碼”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if (userpwd.length() < 6 | userpwd.length() > 10) JOptionPane.showMessageDialog(btnOk,"“密碼”長度范圍在610之間","提示",JOptionPane.WARNING_MESSAGE);return;if (repwd.equals("") JOptionPane.showMessageDialog(btnOk,"“確認密碼”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if (!repwd.equals(userpwd) JOptionPane.showMessageDialog(btnOk,"“確認密碼”和“密碼”必須相同","提示",JOptionPane.WARNING_MESSAGE);return;if (userpwd.equals("haiersoft") JOptionPane.showMessageDialog(btnOk,"注冊成功","提示",JOptionPane.WARNING_MESSAGE);/調用btnCancleClick()方法,清空信息btnCancleClick();else JOptionPane.showMessageDialog(btnOk,"注冊失敗","提示",JOptionPane.WARNING_MESSAGE);return;4調試與測試 在調試用戶注冊界面曾出現(xiàn)當選者用戶頭像時該頭像就被隱藏了,但我對程序中多次的調試,這個問題都沒有得到好的解決,最后我嘗試將頭像的大小改變這個問題就得得到圓滿的解決。4.3 客戶端聊天模塊1.功能設計(1)界面分為3部分:中間部分顯示所有聊天信息,右邊顯示所有在在線客戶,底部用于信息的輸入與發(fā)送。2.界面設計圖3 聊天窗口3模塊算法(或重要代碼段)只要求給出1-2主要模塊的算法(1) 從服務器獲取聊天信息的線程,接受服務器發(fā)送信息的方法。class GetMsgFromServer extends Thread /private String strMsg = null;public GetMsgFromServer() super();public void run() tryreadMsg = new BufferedReader(new InputStreamReader(socketMsg.getInputStream();dostrMsg = readMsg.readLine();/在文本域顯示聊天信息txtContent.append(strMsg + "n"); while (strMsg != null); catch(Exception e) e.printStackTrace();(2)事件發(fā)送的處理方法public void actionPerformed (ActionEvent e) Object source = e.getSource();if (source = btnSend) String str = txtSend.getText();if (!str.equals("") /網(wǎng)絡通信錯誤printMsg.println(nickname + ":" + str);printMsg.flush();txtSend.setText("");4調試與測試 測試結果的分析與討論,測試過程中遇到的主要問題及采取的解決措施。聊天室的設計是較為重要的部分,在先前簡單的界面設計時較為簡單,當通過在該類中添加實現(xiàn)對發(fā)送按鈕監(jiān)聽時由于沒有定義該類的方法連接使得發(fā)送按鈕不能實現(xiàn)。對這個小問題的檢查較為簡單。4.4 服務器端模塊1.功能設計(1)界面分為3部分:中間顯示所有聊天信息,右邊顯示所有在線用戶,底部用于發(fā)送系統(tǒng)信息。2.界面設計圖4 服務器窗口3模塊算法(1)接收客戶發(fā)送聊天信息的線程class GetMessageThread extends Thread private String stringFromClient = null;private BufferedReader bufferedReaderFromClient;public GetMessageThread(BufferedReader buffer) throws Exception bufferedReaderFromClient = buffer;public void run() try do stringFromClient = bufferedReaderFromClient.readLine();msgList.addFirst(stringFromClient); while (!stringFromClient.toLowerCase().endsWith("bye");int index = bufferedReader.indexOf(bufferedReaderFromClient);bufferedReader.remove(index);printWriter.remove(index); catch (Exception e) e.printStackTrace();(2)向所有客戶端發(fā)送消息的線程class SendMessageThread extends Thread public SendMessageThread() throws Exception super ();public void run() while (isRun) try String s = null;if (!msgList.isEmpty() s = (String) msgList.removeLast();txtContent.append(s + "n");for (int i = 0; i < printWriter.size(); i+) if (printWriter.get(i) != null) printWriter.get(i).println(s);printWriter.get(i).flush(); else sleep(100);/休眠 catch (Exception e) e.printStackTrace(); 4調試與測試 服務器的是聊天系統(tǒng)中很重要的部分,這個界面設計較為簡單,擋在當中添加一些樹組件及對客服端信息的發(fā)送時,問題接二連三的出現(xiàn),很多都出現(xiàn)異常,主要是由于在定義語句不小心出現(xiàn)專業(yè)術語錯誤。特別是將字符流放字節(jié)流劉緩沖區(qū)當中是后由于吧new給忘記了,在結果的運行中,服務器總是接收不到客戶端信息,這個問題占據(jù)了我大半天得時間才叫我給檢查出來了。通過這句簡單的話我深感細節(jié)決定成敗。4 小結和展望對于本系統(tǒng)的實現(xiàn),首先是構建一個聊天系統(tǒng)主要的框架,通過查找關于聊天系統(tǒng)的相關知識,建立一個聊天系統(tǒng)主要由服務器和客戶端,用戶的登錄界面和注冊界面,這是一個很簡易的聊天系統(tǒng)。然后通過類的建立登錄窗口類FrmLogin客戶端窗口類Frmain、注冊界面窗口類FrmRegist、服務器類ChatSever;由這些類運行出這幾個主要的窗口類,在通過一個容器類RongQi來存儲用戶的信息,通過類Config讀取相應的鍵對應信息。實現(xiàn)簡單的窗口界面的輸出。其次是通過在這些類當中添加事件處理,如用戶名是否錯誤,密碼是否在規(guī)定范圍之內;客戶端與服務器之間的信息傳輸實現(xiàn),實現(xiàn)對按鈕的監(jiān)聽實現(xiàn)系統(tǒng)中群消息的發(fā)送。最后,通過運行服務器和登錄窗口,注冊一個用戶名實現(xiàn)用戶與服務器的鏈接,就可進行在聊天室中聊天,實現(xiàn)聊天室功能。體會:在這個課程設計中讓我體會到一個簡單的聊天系統(tǒng)也不是那么好實現(xiàn)的,只是簡單窗口的實現(xiàn)也要花費一天半時間,然后通過用戶窗口之間添加對事件的處理監(jiān)聽器接口鏈接最終實現(xiàn)簡單聊天系統(tǒng)。本系統(tǒng)能實現(xiàn)在客戶端用戶聊天窗口中顯示用戶名昵稱和頭像,服務器端口能看見當前用戶在線狀態(tài)并顯示用戶名和昵稱。實現(xiàn)多個用戶之間在線信息的發(fā)送;服務器能監(jiān)測當前用戶所發(fā)信息。是現(xiàn)簡單的用戶聊天功能。本系統(tǒng)有很多不足之處,再對用戶消息的發(fā)送當中只能是在一個窗口實現(xiàn),就都是在一個聊天室里面,沒有私聊的實現(xiàn),用戶上線后顯示的頭像不是用戶當前頭像,是按上線順序進行排列的,很難區(qū)分客服端窗口中誰是當前用戶,對于用戶下線時也存在區(qū)分不清;本人覺得在對用戶信息的存儲與應該建立一個數(shù)據(jù)庫會更好。參 考 文 獻1 邵峰晶, Java SE程序設計高級教程 M. 北京:電子工業(yè)出版, 2010.2 耿祥義,張躍平,基于Java大學實用教程 M. 電子工業(yè)出版社, 2011249-252.(宋體,小四號,1.5行距)附 錄使用說明書1.打開Eclipse運行環(huán)境,打開文聊天系統(tǒng)的類ChatSever 點擊下圖箭頭所指按鈕運行服務器。圖5 ChatSever 類窗口運行的服務器窗口如下圖圖6 運行服務器窗口2.在前面的基礎之上在打開運行FrmLogin類,如下圖圖7 FrmLogin 類窗口運行窗口如下圖8 聊天登錄窗口3.可以進行用戶注冊是,點擊“注冊”按鈕之后彈出如下注冊窗口圖9 注冊窗口4.注冊之后點擊返回到登錄界面登錄用戶上線,如下圖便可進行聊天了如下“痞子蔡”的界面圖10 聊天室狀態(tài)窗口服務器界面如下圖圖11 服務器狀態(tài)窗口源程序清單首先看看該系統(tǒng)類的組成如下圖圖12 聊天室系統(tǒng)類窗口(1)作為客戶端登錄窗口代碼package com.kehuduan.聊天室;import java.awt.event.*;import javax.swing.*;import com.容器.聊天室.RongQi;/作為客戶端登錄窗口public class FrmLogin extends JFrame implements ActionListener private JPanel p;/面板private JLabel lblName, lblPwd;/姓名 密碼 標簽private JTextField txtName; /姓名 文本框private JPasswordField txtPwd;/ 密碼框private JButton btnOk, btnCancle,btnRegist;/ "確定" "取消" "注冊" 按鈕public FrmLogin() super("聊天室登錄");p = new JPanel();p.setLayout(null);lblName = new JLabel("用戶名");lblPwd = new JLabel("密 碼");txtName = new JTextField(20);txtPwd = new JPasswordField(20);txtPwd.setEchoChar(*);btnOk =new JButton("確定");btnCancle = new JButton("取消");btnRegist = new JButton("注冊");lblName.setBounds(30, 30, 60, 25);txtName.setBounds(95, 30, 120, 25);/初始大小和位置lblPwd.setBounds(30,60,60,25);txtPwd.setBounds(95,60,120,25);btnOk.setBounds(30,90,60,25);btnCancle.setBounds(95,90,60,25);btnRegist.setBounds(160,90,60,25);btnOk.addActionListener(this);btnCancle.addActionListener(this);btnRegist.addActionListener(this);p.add(lblName);p.add(txtName);p.add(lblPwd);p.add(txtPwd);p.add(btnOk);p.add(btnCancle);p.add(btnRegist);this.add(p);this.setSize(250,170);this.setLocation(300, 300);/設置窗體不可改變大小this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/事件處理方法public void actionPerformed(ActionEvent e) Object source = e.getSource();/"確定"按鈕 if(source = btnOk) btnOkClick();/"取消"按鈕if(source = btnCancle) btnCancleClick();/“注冊”按鈕if(source = btnRegist) btnRegistClick();/單擊btnOk按鈕處理方法private void btnOkClick() String username = txtName.getText();String userpwd = new String(txtPwd.getPassword();if(username.equals("") JOptionPane.showMessageDialog(btnOk,"“用戶名”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if(userpwd.equals("") JOptionPane.showMessageDialog(btnOk,"“密碼”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if (userpwd.equals("haiersoft") /默認密碼“haiersoft”/驗證通過,隱藏登錄窗口,顯示聊天主窗口this.setVisible(false);/FrmMain frmMain = new FrmMain();/frmMain.setVisible(true);JFrame frmMain = RongQi.getFrm("FrmMain");if (frmMain = null) frmMain = new FrmMain ();RongQi.putFrm("FrmMain", frmMain);/FrmMain frmMain = new FrmMain();frmMain.setVisible(true); else JOptionPane.showMessageDialog(btnOk,"錯誤的用戶名或密碼","提示",JOptionPane.WARNING_MESSAGE);/單擊btnCancle按鈕處理方法private void btnCancleClick() txtName.setText("");txtPwd.setText("");/*/隱藏當前窗體this.setVisible(false);FrmRegist frmRegist = new FrmRegist();/顯示注冊窗體frmRegist.setVisible(true);*/單擊btnRegist按鈕的處理方法private void btnRegistClick() /隱藏當前窗體this.setVisible(false);/FrmRegist frmRegist = new FrmRegist();/從容器中獲取注冊窗體JFrame frmRegist = RongQi.getFrm("FrmGegist");/如果為null,則創(chuàng)建注冊窗體,并放入容器中if (frmRegist = null) frmRegist = new FrmRegist ();RongQi.putFrm("FrmRegist", frmRegist);/顯示注冊窗體frmRegist.setVisible(true);public static void main(String args) /加載了一個和系統(tǒng)一樣風格的異常try UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName(); /加載系統(tǒng)風格 catch (Exception e) FrmLogin frmLogin = new FrmLogin();frmLogin.setVisible(true);RongQi.putFrm("FrmLogin", frmLogin);(2)客戶端注冊窗口代碼package com.kehuduan.聊天室;/客戶端注冊窗口import java.awt.GridLayout;import java.awt.event.*;import javax.swing.*;import com.容器.聊天室.RongQi;public class FrmRegist extends JFrame implements ActionListener /繼承窗體 監(jiān)聽接口private JPanel p;/標簽 用戶名 昵稱 密碼 確認密碼 性別 頭像private JLabel lblName, lblNickname, lblPwd, lblRepwd, lblSex, lblImage;private JTextField txtName, txtNickname;/ 姓名 昵稱 文本框private JPasswordField txtPwd, txtRePwd;/密碼框private JRadioButton rbMale, rbFemale;private JRadioButton ckbImage = new JRadioButton8;/用于頭像選擇private JButton btnOk, btnCancle, btnReturn;/確定 取消 返回 三個按鈕/選中的頭像private String checkedHeadImg = null;public FrmRegist() /構造方法super("用戶注冊");p = new JPanel(null);lblName = new JLabel("用戶名:");lblNickname = new JLabel("昵 稱:");lblPwd = new JLabel("密 碼:");lblRepwd = new JLabel("確認密碼:");lblSex = new JLabel("性 別:");lblImage = new JLabel("頭 像:");txtName = new JTextField(20);txtNickname= new JTextField(20);txtPwd = new JPasswordField(20);txtRePwd= new JPasswordField(20);rbMale = new JRadioButton("男");rbMale.setSelected(true);/默認 性別為男rbFemale = new JRadioButton("女");/rbFemale.setSelected(true);JPanel pimg = new JPanel(new GridLayout(2,5);ButtonGroup bgimg = new ButtonGroup();for (int i = 0; i < ckbImage.length; i+) ckbImagei = new JRadioButton(String.valueOf(i + 1),new ImageIcon("images/"+(i + 1) + ".gif");ckbImagei.addItemListener(new ImageLIstener();/ckbImagei.addItemListener(new ImageListener();/此處有點問題 已解決bgimg.add(ckbImagei);pimg.add(ckbImagei);/頭像讀取btnOk = new JButton("確定");btnCancle = new JButton("取消");btnReturn = new JButton("返回");btnOk.addActionListener(this);btnCancle.addActionListener(this);btnReturn.addActionListener(this);/添加監(jiān)聽器ButtonGroup bgsex = new ButtonGroup();bgsex.add(rbMale);bgsex.add(rbFemale);/性別 數(shù)組lblName.setBounds(30,30,60,25);txtName.setBounds(95, 30, 200, 25);lblNickname.setBounds(30, 60, 60, 25);txtNickname.setBounds(95, 60, 200, 25);lblPwd.setBounds(30,90,60,25);txtPwd.setBounds(95,90,200,25);lblRepwd.setBounds(30,120,60,25);txtRePwd.setBounds(95,120,200,25);lblSex.setBounds(30,150,60,25);rbMale.setBounds(95, 150, 60, 25);rbFemale.setBounds(160, 150, 60, 25);lblImage.setBounds(30, 180, 60, 25);pimg.setBounds(95,180,280,100);btnOk.setBounds(90,290,60,25);btnCancle.setBounds(155,290,60,25); btnReturn.setBounds(220,290,60,25);p.add(lblName);p.add(txtName);p.add(lblNickname);p.add(txtNickname);p.add(lblPwd);p.add(txtPwd);p.add(lblRepwd);p.add(txtRePwd);p.add(lblSex);p.add(rbMale);p.add(rbFemale);p.add(lblImage);p.add(pimg);p.add(btnOk);p.add(btnCancle);p.add(btnReturn);this.add(p);this.setSize(400, 380);/設置大小this.setLocation(300,300);/設置坐標/窗體不可改變大小this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/事件處理方法public void actionPerformed(ActionEvent e) Object source = e.getSource();/"確定"按鈕if(source = btnOk) btnOkClick();/"取消"按鈕if(source = btnCancle) btnCancleClick();/"返回"按鈕if(source = btnReturn) btnReturnClick(); /單擊btnOk按鈕處理的方法private void btnOkClick() String username = txtName.getText();String nickname = txtNickname.getText();String userpwd = new String(txtPwd.getPassword();String repwd = new String(txtRePwd.getPassword();int sex = 0;if (rbFemale.isSelected() sex = 1;if (username.equals("") JOptionPane.showMessageDialog(btnOk,"“用戶名”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if(nickname.equals("") JOptionPane.showMessageDialog(btnOk,"“昵稱”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if(userpwd.equals("") JOptionPane.showMessageDialog(btnOk,"“密碼”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;if (userpwd.length() < 6 | userpwd.length() > 10) JOptionPane.showMessageDialog(btnOk,"“密碼”長度范圍在610之間","提示",JOptionPane.WARNING_MESSAGE);return;if (repwd.equals("") JOptionPane.showMessageDialog(btnOk,"“確認密碼”不能為空","提示",JOptionPane.WARNING_MESSAGE);return;/*if (repwd.equals("") JOptionPane.showMessageDialog(btnOk,"確認密碼不能為空","提示",JOptionPane.WARNING_MESSAGE);return;*/if (!repwd.equals(userpwd) JOptionPane.showMessageDialog(btnOk,"“確認密碼”和“密碼”必須相同","提示",JOptionPane.WARNING_MESSAGE);return;if (userpwd.equals("haiersoft") JOptionPane.showMessageDialog(btnOk,"注冊成功","提示",JOptionPane.WARNING_MESSAGE);/調用btnCancleClick()方法,清空信息btnCancleClick();else JOptionPane.showMessageDialog(btnOk,"注冊失敗","提示",JOptionPane.WARNING_MESSAGE);return;/單擊btnCancle按鈕的處理方法private void btnCancleClick() /清空信息txtName.setText("");txtNickname.setText("");txtPwd.setText("");txtRePwd.setText("");rbMale.setSelected(true);/單擊btnReturn的處理方法private void btnReturnClick() /隱藏當前窗體this.setVisible(false);/FrmLogin frmLogin = new FrmLogin();JFrame frmLogin = RongQi.getFrm("FrmLogin");if (frmLogin = null) frmLogin = new FrmLogin ();RongQi.putFrm("FrmLogin", frmLogin);/顯示登錄窗體frmLogin.setVisible(true);/*FrmLogin fralogin = new FrmLogin();/顯示登錄窗體fralogin.setVisible(true);*/頭像選擇監(jiān)聽類class ImageLIstener implements ItemListener public void itemStateChanged(ItemEvent e) JRadioButton source = (JRadioButton) e.getSource();if(source.isSelected() /顯示邊框source.setBorderPainted(true);checkedHeadImg = source.getText() + ".gif"System.out.println(checkedHeadImg);else /隱藏邊框source.setBorderPainted(false);/*public static void main(String args) FrmRegist frm = new FrmRegist ();frm.setVisible(true);*/ /將FrmRegist,java中的main()方法去掉,使聊天室客戶端的入口界面是登登錄界面 (3)客戶端主窗口界面代碼package com.kehuduan.聊天室;/客戶端主窗口界面import java.awt.event.*;import java.io.*;import .Socket;import java.util.StringTokenizer;import javax.swing.*;import com.容器.聊天室.Config;public class FrmMain extends JFrame implements ActionListener /FrmMain 類實現(xiàn) ActionListener 接口 實現(xiàn)發(fā)送聊天信息的功能private JSplitPane splitPaneV,splitPaneH;/分隔面板private JScrollPane spCenter;/滾動面板private JPanel pRight; /面板private JPanel pdown; private JTextArea txtContent; /文本區(qū)private JLabel lblSend; / "輸入" 標簽private JTextField txtSend; / "輸入字符" 文本框private JButton btnSend; / "發(fā)送" 按鈕/三個屬性/當前聊天的用戶的用戶名public static String username = "nie"/當前聊天用戶的昵稱public static String nickname = "QQ"/當前聊天用戶的頭像public static String heading = "7.gif"private Socket socketMsg; /用于消息傳遞的套接字private Socket socketUser; /用于用戶傳遞套接字/用于消息的輸入/輸出流(用于聊天信息傳遞)private PrintWriter printMsg;private BufferedReader readMsg;private ObjectOutputStream printUser; /用于用戶信息輸入流private BufferedReader readUser; /用于用戶信息輸出流private String strMsg = null;/構造方法public FrmMain() super("聊天室");txtContent = new JText

注意事項

本文(《Java程序設計》課程設計報告簡易聊天室系統(tǒng))為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!