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

正文內(nèi)容

基于java的qq聊天系統(tǒng)-在線瀏覽

2024-09-17 11:56本頁面
  

【正文】 統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。這是一個看上去有點瑣細的優(yōu)點,但正是這點使XML與眾不同。XML的簡單使其易于在任何應(yīng)用程序中讀寫數(shù)據(jù),這使XML很快成為數(shù)據(jù)交換的唯一公共語言,雖然不同的應(yīng)用軟件也支持其它的數(shù)據(jù)交換格式,但不久之后他們都將支持XML,那就意味著程序可以更容易的與Windows,Mac OS,Linux以及其他平臺下產(chǎn)生的信息結(jié)合,然后可以很容易加載XML數(shù)據(jù)到程序中并分析他,并以XML格式輸出結(jié)果。它的設(shè)計包含 Java 語言的語法乃至語義。但是DOM是對xml規(guī)范接口的實現(xiàn),它比JDOM標(biāo)準(zhǔn)。 JDOM 直接為JAVA編程服務(wù)。 在 JDOM 中,XML 元素就是 Element 的實例,XML 屬性就是 Attribute 的實例,XML 文檔本身就是 Document 的實例。Jason Hunter 和 Brett 。在接下來的篇幅里將介紹怎么用Jdom去讀寫一個已經(jīng)存在的XML文檔。 第3章 .系統(tǒng)的詳細設(shè)計 系統(tǒng)的基本功能設(shè)計本系統(tǒng)是基于C/S模式設(shè)計的,功能主要劃分為服務(wù)器端和客戶端兩大模塊,在實現(xiàn)過程中主要是從服務(wù)器端和客戶端兩個方面入手的。 ( 2)客戶服務(wù)程序 要做一個受大眾歡迎的軟件,僅僅實現(xiàn)基本功能是不夠的,很關(guān)鍵的一點就是人機的交互功能,界面不僅美觀,還要使用,本系統(tǒng)的功能和界面都是按照人們的操作習(xí)慣來實現(xiàn)的。申請成功后服務(wù)器將號發(fā)送給用戶。 (3) 好友上 下線提示 用戶登陸后,用戶可以得到用戶上線的提示,會在右下角進行提示,在下線的時候也能得到信息,并把其狀態(tài)改為下線。 (5) 發(fā)送聊天信息用戶可以給人以一個好友發(fā)送信息,不管在線與否,在線的話,會直接發(fā)送,不在線的話,會發(fā)送到服務(wù)器端,當(dāng)用戶登錄時,服務(wù)器發(fā)給該用戶。 (7)查看聊天記錄 用戶登錄之后,可以和好友進行聊天可以看到以前的聊天記錄。 (8) 接受服務(wù)器消息 用戶可以接受服務(wù)器端發(fā)來的信息,例如:發(fā)送文件的信息,用戶可以選擇是否接受要是不接受的話,就斷開,接受的話,就接受。. 5 客戶端系統(tǒng)結(jié)構(gòu)圖 客戶端功能主框架: 客戶器端用例模型設(shè)計客戶端用例關(guān)系圖: 數(shù)據(jù)庫的設(shè)計 數(shù)據(jù)庫設(shè)計與實現(xiàn)是該系統(tǒng)開發(fā)過程中的一個重要環(huán)節(jié),為了設(shè)計一個合理有效的數(shù)據(jù)庫,對數(shù)據(jù)庫進行需求分析,概念模型設(shè)計,物理模型設(shè)計。 表的設(shè)計 用戶信息表(號,用戶名,密碼,性別,年齡,婚否,郵箱) 好友表(好友號) 聊天信息表(聊天信息)、其中聊天信息是一個打包以后的字符串,里面包含內(nèi)容有:消息發(fā)送時間,發(fā)送者,接受者,發(fā)送內(nèi)容。第4章 .系統(tǒng)的具體實現(xiàn) 服務(wù)器端的實現(xiàn) 服務(wù)管理器 本系統(tǒng)用一個繼承與JFrame的類來實現(xiàn)的系統(tǒng)的服務(wù)管理器來實現(xiàn)對服務(wù)器的管理,進行對服務(wù)器的各種功能進行操作。 客戶端的實現(xiàn) 申請 當(dāng)用戶第一次登陸的時候必須先申請一個號,申請?zhí)柎a的功能在一個繼承與JFrame的類中進行實現(xiàn),代碼如下:package 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。public class QqReg extends JFrame { public static Socket s。 public static ObjectOutputStream oos。 private JComboBox boBox_1。 private JPasswordField passwordField_1。 private JTextField textField。 /** * param args */ public static void main(String[] args) { // TODO Autogenerated method stub QqReg qr=new QqReg()。 getContentPane().setBackground()。 final JLabel nichengLabel = new JLabel()。 (昵稱)。 getContentPane().add(nichengLabel)。 (157, 30, 162, 29)。 final JLabel label = new JLabel()。 (密碼)。 getContentPane().add(label)。 (157, 82, 162, 29)。 passwordField_1 = new JPasswordField()。 getContentPane().add(passwordField_1)。 (new Font(, , 14))。 (44, 140, 67, 22)。 final JLabel label_2 = new JLabel()。 (性別)。 getContentPane().add(label_2)。 boBox = new JComboBox(words)。 getContentPane().add(boBox)。 (new Font(, , 14))。 (199, 197, 57, 22)。 String[] word={,已婚,未婚}。 (262, 192, 57, 27)。 final JLabel label_4 = new JLabel()。 (郵箱)。 getContentPane().add(label_4)。 (157, 262, 162, 29)。 final JButton button = new JButton()。 (提交)。 (new ActionListener(){ public void actionPerformed(ActionEvent arg0) { // TODO Autogenerated method stub if(()== button){ String name=()。 Pattern p = ([09]{1,8})。 boolean b = ()。 String sex=(String) ()。 String emil=()。 Matcher m1 = (emil)。 int qq=(int) (()*100)+100。 (name)。 (password)。 (sex)。 ()。 ()。 }else if(!b){ (, 密碼格式不正確)。 }else if(!(password)){ (, 密碼不一致)。 }else if(()){ (, 性別不能為空)。 }else if(()){ (, 郵箱不能為空)。 ()。 } } } })。 final JButton button_1 = new JButton()。 (取消)。 getContentPane().add(button_1)。 (true)。 } public void mess(User uu){ try { s = new Socket(, 6542)。 (uu)。 ois =new ObjectInputStream(())。 User us=(User)()。 if((0)==39。){ String a = (1).trim()。 }else{ int b=(a)。 ()。 ()。 } catch (ClassNotFoundException e) { // TODO Autogenerated catch block ()。注冊用戶輸入登錄名與密碼,如果與系統(tǒng)中已注冊的用戶登錄名及密碼匹配,則用戶登錄成功,否則提示錯誤。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。 public static ObjectInputStream ois。 private JTextField textField。 String name。 } public QqLogin() { super()。 final JLabel label = new JLabel()。 (New JLabel)。 getContentPane().add(label)。 (103, 101, 158, 27)。 passwordField = new JPasswordField()。 getContentPane().add(passwordField)。 ((()))。 ()。 } else if (().equals() || () == null) { (, 密碼不能為空)。 } } } })。 ((, /images/))。 (14, 101, 83, 83)。 final JLabel label_2 = new JLabel()。 (注冊賬號)。 (())。 } } public void mouseEntered(MouseEvent arg0) { // TODO Autogenerated method stub } public void mouseExited(MouseEvent arg0) { // TODO Autogenerated method stub } public void mousePressed(MouseEvent arg0) { // TODO Autogenerated method stub } public void mouseReleased(MouseEvent arg0) { // TODO Autogenerated method stub } })。 final JLabel label_3 = new JLabel()。 (找回密碼)。 (())。 final JCheckBox checkBox = new JCheckBox()。 (189, 167, 83, 16)。 final JCheckBox checkBox_1 = new JCheckBox()。 (103, 167, 84, 17)。 final JButton button = new JButton()。 (登錄)。 getContentPane().add(button)。 (new Font(, , 14))。 (2, 209, 75, 25)。 final JButton button_2 = new JButton()。 (設(shè)置)。 getContentPane().add(button_2)。 ((new ImageIcon(images/).getImage()))。 Dimension d = ()。 (( 343) / 2, ( 269) / 2, 343, 269)。 ()。 (0)。 } public void mess(User us) { try { s = new Socket(, 6542)。 (us)。 User uu = (User) ()。 if ((0) == 39。) { String a = (1).trim()。 ()。 // 啟動線程 RecevieClientThread rt = new RecevieClientThread(s)。 SendClientThread st = new SendClientThread()。 } else if ((1)) {
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1