freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告-簡(jiǎn)易聊天室系統(tǒng)-wenkub.com

2025-07-13 02:20 本頁(yè)面
   

【正文】 } } } 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 49 } //窗體監(jiān)聽(tīng)類 class WindowEventHandle extends WindowAdapter { //當(dāng)窗體關(guān)閉時(shí),停止所有通信線程 public void WindowClosing (WindowEvent e) { isRun = 。 i++) { if ((i) != null) { (i).println(s)。 if (!()) { s = (String) ()。 (index)。 (stringFromClient)。 } } } } //接收客戶發(fā)送聊天信息的線程 class GetMessageThread extends Thread { private String stringFromClient = null。 (printWriterToClient)。 } catch (Exception e) { ()。 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 46 } for (int i = 0。 i ()。 //調(diào)用 sendUserListToCilent() 方法向所有客戶端發(fā)送目前所//有用戶信息 sendUserListToClient ()。 if (user != null) { (user)。 ObjectInputStream readerFromClient = new ObjectInputStream( ())。 //啟動(dòng)發(fā)送消息的線程 new SendMessageThread().start()。// msgServerSocket = new ServerSocket( ((msgport)))。 //指定當(dāng)分隔面板 表示左邊 /頂部的 //組件獲得所有額外空間 (splitPaneH)。 //設(shè)置分隔條的位置 (1)。 tree = new JTree(model)。 。 (txtSend)。 lblSend=new JLabel(系統(tǒng)消息 :)。 txtContent=new JTextArea()。 private ArrayListObjectInputStream readUser = new ArrayListObjectInputStream()。 private ArrayListBufferedReader bufferedReader = new ArrayListBufferedReader()。 //消息服務(wù)套接字 private ServerSocket msgServerSocket。 private JButton btnSend。 private JPanel pdown。 import .User。 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 41 import .*。 (true)。 (500, 400)。 y+=45。 (name + : + img)。 符號(hào)間隔 也對(duì)特殊符號(hào)的字符串進(jìn)行解釋 ()。 do { String line = ()。 } while (strMsg != null)。 public GetMsgFromServer() { super()。 //將當(dāng)前用戶發(fā)送給服務(wù)器 ((User) user)。 } catch(Exception e) { ()。 ()。 ()。 new GetMsgFromServer().start()。//設(shè)置文本域不可編輯 createUserListConnection()。//窗口位置 //(false)。//分隔條位置 (1)。 (320)。 (btnSend)。 txtSend = new JTextField(20)。 (false)。 //用于用戶信息輸入流 private BufferedReader readUser。 //用于消息傳遞的套接字 private Socket socketUser。 // 發(fā)送 按鈕 //三個(gè)屬性 //當(dāng)前聊天的用戶的用戶名 public static String username = nie。 private JTextArea txtContent。 public class FrmMain extends JFrame implements ActionListener { //FrmMain 類實(shí)現(xiàn) ActionListener 接口 實(shí)現(xiàn)發(fā)送聊天信息的功能 private JSplitPane splitPaneV,splitPaneH。 import 。 (true)。 checkedHeadImg = () + .gif。 /*FrmLogin fralogin = new FrmLogin()。 JFrame frmLogin = (FrmLogin)。 ()。 return。 return。 return。 return。 return。 String repwd = new String(())。 } //返回 按鈕 if(source == btnReturn) { btnReturnClick()。 ()。 (p)。 (pimg)。 (lblSex)。 (lblPwd)。 (lblName)。 (95,180,280,100)。 (30,150,60,25)。 (30,90,60,25)。 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 27 //性別 數(shù)組 (30,30,60,25)。 (this)。 btnCancle = new JButton(取消 )。 //ckbImage[i].addItemListener(new ImageListener())。 for (int i = 0。//默認(rèn) 性別為男 rbFemale = new JRadioButton(女 )。 txtPwd = new JPasswordField(20)。 lblSex = new JLabel(性 別 :)。 lblName = new JLabel(用戶名 :)。//用于頭像選擇 private JButton btnOk, btnCancle, btnReturn。 private JTextField txtName, txtNickname。 import .*。 (FrmLogin, frmLogin)。 } //顯示注冊(cè)窗體 (true)。 //FrmRegist frmRegist = new FrmRegist()。 /*//隱藏當(dāng)前窗體 (false)。 (true)。 JFrame frmMain = (FrmMain)。 return。 String userpwd = new String(())。 //確定 按鈕 if(source == btnOk) { btnOkClick()。 (300, 300)。 (btnCancle)。 (txtName)。 (this)。 (95,60,120,25)。 btnRegist = new JButton(注冊(cè) )。*39。 lblPwd = new JLabel(密 碼 )。// 確定 取消 注冊(cè) 按鈕 public FrmLogin() { super(聊天室登錄 )。//面板 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 20 private JLabel lblName, lblPwd。 import .*。是現(xiàn)簡(jiǎn)單的用戶聊天功能 。 最后, 通過(guò)運(yùn)行服務(wù)器和登錄窗口 ,注冊(cè)一個(gè)用戶名實(shí)現(xiàn)用戶與服務(wù)器的鏈接,就可進(jìn)行在聊天室中聊天,實(shí)現(xiàn)聊天室功能。 4 小結(jié)和展望 對(duì)于本系統(tǒng)的實(shí)現(xiàn),首先是構(gòu)建一個(gè)聊天系統(tǒng)主要的框架 ,通過(guò)查找關(guān)于聊天系統(tǒng)的 相關(guān)知識(shí),建立一個(gè)聊天系統(tǒng)主要由服務(wù)器和客戶端,用戶的登錄界面和注冊(cè)界面,這是一個(gè)很簡(jiǎn)易的聊天系統(tǒng)。//休眠 } } catch (Exception e) { ()。 i ()。 } public void run() { while (isRun) { try { String s = null。 (index)。 } public void run() { 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 12 try { do { stringFromClient = ()。 服務(wù)器端 模塊 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 11 (1)界面分為 3 部分:中間顯示所有聊天信息,右邊顯示所有在線用戶,底部用于發(fā)送系統(tǒng)信息。 ()。 } } } (2)事件發(fā)送的處理方法 public void actionPerformed (ActionEvent e) { Object source = ()。 do{ strMsg = ()。 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 9 圖 3 聊天窗口 3 模塊算法(或重要代碼段)――― 只要求給出 12主要模塊的算法 (1) 從服務(wù)器獲取聊天信息的線程 , 接受服務(wù)器發(fā)送信息 的方法 。 } else { (btnOk,注冊(cè)失敗 ,提示 , )。 } if (!(userpwd)) { (btnOk,“ 確認(rèn)密碼 ” 和 “ 密碼 ” 必須相同 ,提示 , )。 } if (() 6 || () 10) { (btnOk,“ 密碼 ” 長(zhǎng)度范圍在 6~10之間,提示 , )。 } if(()) { 《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 7 (btnOk,“ 昵稱 ” 不能為空 ,提示 , )。 int sex = 0。//頭像讀取 } (2)單擊 btnOk按鈕處理的方法 private void btnOkClick() { String username = ()。 i++) { ckbImage[i] = new JRadioButton((i + 1), new ImageIcon(images/+(i + 1) + .gif))。 JPanel pimg = new JPanel(new GridLayout(2,5))。 } } 4 調(diào)試與測(cè)試 調(diào)試過(guò)程當(dāng)中,遇到密碼文本框設(shè)計(jì)沒(méi)有和實(shí)際設(shè)計(jì)符合,最后通過(guò)同學(xué)的一起解決了這個(gè) 問(wèn)題;在處理“取消”的事件時(shí)出現(xiàn)一點(diǎn)小錯(cuò)誤,經(jīng)過(guò)反復(fù)調(diào)試及對(duì)程序的時(shí)間分析發(fā)現(xiàn)將“取消”這個(gè)事件的處理錯(cuò)寫為“確定”按鈕。 (FrmMain, frmMain)。 } if ((haiersoft)) {//默認(rèn)密碼 “ haiersoft” //驗(yàn)證通過(guò),隱藏登錄窗口,顯示聊天主窗口 (false)。 if(()) { (btnOk,“ 用戶名 ” 不能為空 ,提示 , )。 }//取消 按鈕 if(source == btnCancle) { btnCancleClick()。 能實(shí)現(xiàn)用戶注冊(cè)、用戶的登錄、 各 客戶端能連接起來(lái),服務(wù)器能與客戶端相連 實(shí)現(xiàn)用戶之間信息的發(fā)送與共享。缺少它你會(huì)感覺(jué)沒(méi)什么,但是你一旦有了它你會(huì)發(fā)現(xiàn)它是那么的 重 要。我選擇嘗試對(duì)一簡(jiǎn)單的聊天系統(tǒng)進(jìn)行開(kāi)發(fā)。《 Java 程序設(shè)計(jì) 》課程設(shè)計(jì)報(bào)告 I 華 北 科 技 學(xué) 院 課程設(shè)計(jì)說(shuō)明書 班級(jí) : 信息與計(jì)算科學(xué) B091 學(xué)號(hào): 姓名 :
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1