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

正文內(nèi)容

基于java的企業(yè)內(nèi)部通訊系統(tǒng)—前臺(tái)界面基礎(chǔ)類(lèi)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2024-11-07 22:01本頁(yè)面

【導(dǎo)讀】和新增的JavaDB數(shù)據(jù)庫(kù)開(kāi)發(fā)的夸平臺(tái)的應(yīng)用程序。它可以不用連接Inter,直接。一個(gè)安靜的工作環(huán)境。根據(jù)企業(yè)內(nèi)部通訊系統(tǒng)的特點(diǎn),可以將該系統(tǒng)劃分為信息通訊,系統(tǒng)。升級(jí),系統(tǒng)設(shè)置,用戶搜索等共計(jì)六大部分。可以節(jié)省開(kāi)銷(xiāo),而且能夠提高系統(tǒng)的安全性,本系統(tǒng)采用JavaDB數(shù)據(jù)庫(kù)。報(bào)告中將對(duì)主窗體設(shè)計(jì)、系統(tǒng)托盤(pán)模塊。類(lèi)的創(chuàng)建也將簡(jiǎn)要概述,還有用戶管理模塊的設(shè)計(jì)和通信模塊的設(shè)計(jì)也將作大體歸納總結(jié)!

  

【正文】 on userInfoButton。 二、在構(gòu)造方法中的相關(guān)操作 初始化窗體上的控件,數(shù)據(jù)庫(kù)操作類(lèi),首選項(xiàng),另外還要為窗體添加事件,監(jiān)聽(tīng)器。關(guān)鍵代碼如下: public EQ() { super(new Frame())。 frame = this。 dao = ()。 location = ()。 setTitle(EQ通訊 )。 setBounds(location)。 progressBar = new JProgressBar()。 (new BevelBorder())。 tabbedPane = new JTabbedPane()。 popupMenu = new JPopupMenu()。 chatTree = new ChatTree(this)。 user_dir = ()。 // 程序執(zhí)行路徑用于系統(tǒng)更新 localFile = new File(user_dir + + )。// 本地 EQ文件 stateLabel = new JLabel()。 // 狀態(tài)欄標(biāo)簽 addWindowListener(new FrameWindowListener())。// 添加窗體監(jiān)視器 { // 初始化公共信息按鈕 messageAlertIcon = new ImageIcon( 22 .getResource(/image/))。 messageAlertNullIcon = new ImageIcon( .getResource(/image/))。 messageStack = new StackString()。 messageAlertButton = new JButton()。 ()。 (false)。 final JPanel BannerPanel = new JPanel()。 (new BorderLayout())。 add(BannerPanel, )。 userInfoButton = new JButton()。 (userInfoButton, )。 (new Insets(0, 0, 0, 10))。 initUserInfoButton()。// 初始化本地用戶頭像按鈕 (messageAlertButton, )。 (new ActionListener() { public void actionPerformed(final ActionEvent e) { if (!()) { showMessageDialog(())。 } } })。 (messageAlertIcon)。 showMessageBar()。 } add(tabbedPane, )。 ()。 ImageIcon userTicon = new ImageIcon( .getResource(/image/tabIcon/))。 (null, userTicon, createUserList(), 用戶列表 )。 ImageIcon sysOTicon = new ImageIcon( .getResource(/image/tabIcon/))。 23 (null, sysOTicon, createSysToolPanel(), 系統(tǒng)操作 )。 ImageIcon sysSTicon = new ImageIcon( .getResource(/image/tabIcon/))。 (null, sysSTicon, createSysSetPanel(), 系統(tǒng)設(shè)置 )。 setAlwaysOnTop(true)。 } 三、 初始化 Socket 服務(wù)器 指定端口使用 1111,如果初始化失敗,將提示用戶服務(wù)器端口被占用,或者是本軟件已經(jīng)開(kāi)始運(yùn)行,并退出程序,這個(gè)部驟很關(guān)鍵,它用于接收其它用戶發(fā)送的通訊信息,如果啟動(dòng)失敗,將無(wú)法接受信息,所以必須退出系統(tǒng)。代碼的實(shí)現(xiàn)如下: try {// 啟動(dòng)通訊服務(wù)端口 ss = new DatagramSocket(1111)。 } catch (SocketException e2) { if (().startsWith(Address already in use)) showMessageDialog(服務(wù)端口被占用 ,或者本軟件已經(jīng)運(yùn)行。)。 (0)。 } 四、編寫(xiě)檢測(cè)公告信息的方法 該方法用于檢測(cè)系統(tǒng)的公告信息,當(dāng)公告路徑中存在公告信息時(shí),該方法將從公告文件中獲取完整的信息,然后調(diào)用 pushMesssage 方法將通告信息壓入公告信息站中,該方法首先 獲取用戶設(shè)置的公告路徑,如果沒(méi)有設(shè)置公告路徑,公告的第一個(gè)提示信息就是未設(shè)置公告路徑,如果設(shè)置了公告路徑,我們講創(chuàng)建公告文件對(duì)象,然后判斷公告文件是否存在,并讀取公告文件的內(nèi)容,然后將公告信息壓入堆棧,如果文件不存在,將提示用戶公告路徑錯(cuò)誤或者公告文件不存在。關(guān)鍵代碼如下: 24 private void checkPlacard() { // 檢測(cè)公告信息方法 String placardDir = (placardPath, null)。 if (placardDir == null) { pushMessage(未設(shè)置公告路徑 )。 return。 } File placard = new File(placardDir)。 try { if (() amp。amp。 ()) { StringBuilder placardStr = new StringBuilder()。 Scanner sc = new Scanner(new FileInputStream(placard))。 while (()) { (())。 } pushMessage(())。 } } catch (FileNotFoundException e) { pushMessage(公告路徑錯(cuò)誤,或公告文件不存在 )。 } } 五、編寫(xiě)初始化用戶信息按鈕的方法 用戶信息按鈕也就是主窗體左上角的用戶信息頭像,該方法用于初始化本地 用戶信息,并在主窗體左上角顯示本地用戶的頭像和名稱,在用戶更改本地用戶名稱時(shí),它會(huì)同步更新,該方法首先獲取本地 IP 地址,然后從數(shù)據(jù)庫(kù)中獲取用戶對(duì)象,然后分別設(shè)置提示文本以及用戶的頭像信息,用戶的姓名。關(guān)鍵代碼如下: private void initUserInfoButton() {// 初始化用戶信息按鈕 try { String ip = ().getHostAddress()。 User user = (ip)。 25 (())。 (())。 ()。 (())。 ().doLayout()。 } catch (UnknownHostException e1) { ()。 } } 六、編寫(xiě)應(yīng)用程序的入口方法 也就是 main 方法,在該方法中,首先獲取用戶設(shè)置的界面外觀,企業(yè)內(nèi)部通信系統(tǒng)可以設(shè)置的外觀包括當(dāng)前系統(tǒng)和 JAVA 默認(rèn)兩種外觀,然后調(diào)用UIManager 類(lèi)的 SystemLookandFeel 方法設(shè)置指定的外觀并生成主窗體對(duì)象,最后初始化服務(wù)器端口。代碼的實(shí)現(xiàn)如下: public static void main(String args[]) { try { String laf = (lookAndFeel, java默認(rèn) )。 if ((當(dāng)前系統(tǒng) )1) (UIManager .getSystemLookAndFeelClassName())。 EQ frame = new EQ()。 (true)。 ()。// 初始化系統(tǒng)欄 ()。 ()。 } catch (Exception e) { ()。 } } 26 第三節(jié) 記錄窗體位置 一、怎樣為窗體添加事件監(jiān)聽(tīng)器 在構(gòu)造方法中為窗體添加控件監(jiān)聽(tīng)器,當(dāng)窗體改變大小或者移動(dòng)位置時(shí),調(diào)用 savaLocation 方法將窗體的當(dāng)前位置和大小保存到數(shù)據(jù)庫(kù)中,該方法在當(dāng)前窗體改變大小的時(shí)候就被調(diào)用,相應(yīng)的 ponentNoved 方法在窗體改變位置的時(shí)候被調(diào)用,這兩個(gè)方法都將執(zhí)行 savaLocation 方法,將窗體位置和大小的改變保存到數(shù)據(jù)庫(kù)中。代碼的實(shí)現(xiàn)如下: addComponentListener(new ComponentAdapter() { public void ponentResized(final ComponentEvent e) { saveLocation()。 } public void ponentMoved(final ComponentEvent e) { saveLocation()。 } })。 二、編 寫(xiě) savaLocation 方法 該方法將調(diào)用 dao 數(shù)據(jù)庫(kù)操作類(lèi)的 updatelocation 方法,將窗體位置和窗體大小保存到數(shù)據(jù)庫(kù)中,方法的實(shí)現(xiàn)首先調(diào)用該方法獲取窗體的當(dāng)前位置和大小,然后調(diào)用 updatelocation 方法,將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。代碼的實(shí)現(xiàn)如下: private void saveLocation() { // 保存主窗體位置的方法 location = getBounds()。 (location)。 } 27 第四節(jié) 本章小結(jié) 本章是全文的 重點(diǎn)章節(jié)之一,它圍繞著企業(yè)內(nèi)部通訊系統(tǒng)的主要設(shè)計(jì)模塊之一的主窗體,對(duì)主窗體的定義、包含內(nèi)容,以及運(yùn)行效果都做了相 關(guān)概述,并對(duì)主窗體的創(chuàng)建、怎樣記錄窗體位置進(jìn)行了詳細(xì)的步驟說(shuō)明。主窗體界面由用戶列表、公告提示、系統(tǒng)選項(xiàng)卡等組成,主窗體包含用戶信息頭像、公告信息,在系統(tǒng)設(shè)置管理界面中可以進(jìn)行系統(tǒng)升級(jí)路徑,系統(tǒng)公告路徑以及系統(tǒng)程序路徑的設(shè)置,用戶列表中包含了整個(gè)局域網(wǎng)中你所添加的用戶信息。創(chuàng)建主窗體分為以下幾步: 創(chuàng)建 EQ 類(lèi)。 在構(gòu)照方法中初始化窗體上的控件,數(shù)據(jù)庫(kù)操作類(lèi),首選項(xiàng),另外還要為窗體添加事件,監(jiān)聽(tīng) 器。 初始化 Socket服務(wù)器 。 編寫(xiě)檢測(cè)公告信息的方法。 編寫(xiě)初始化用戶信息按鈕的方法。編寫(xiě)應(yīng)用程序的入口方法。 記錄窗體位置分為以下幾步: 為窗體添加事件監(jiān)聽(tīng)器。 編寫(xiě) savaLocation 方法。 每一步驟中間都附有相關(guān)的代碼,使我們對(duì)主窗體的設(shè)計(jì)過(guò)程了解得更具體。 28 第 四 章 系統(tǒng)托板模塊設(shè)計(jì) 第一節(jié) 系統(tǒng)托盤(pán)模塊的簡(jiǎn)述 用于定義系統(tǒng)托板圖標(biāo), 企業(yè)內(nèi)部通訊系統(tǒng) 的主窗體是繼承對(duì)話框體編寫(xiě)的,該窗體在系統(tǒng)任務(wù)欄不會(huì)顯示相應(yīng)的任務(wù)標(biāo)題,如果主窗體最小化 之后將會(huì)隱藏, 這 時(shí) 必須使 用快捷鍵或系統(tǒng)托盤(pán)中的圖標(biāo)執(zhí)行顯示窗體的命令 。 [8][11] 第二節(jié) 系統(tǒng)托盤(pán)模塊的具體現(xiàn)實(shí)過(guò)程 一、編寫(xiě) SystemTrayInitial 方法 該方法用于初始化系統(tǒng)托盤(pán),在方法中,初始化系統(tǒng)托盤(pán)中的提示文本,系統(tǒng)欄圖標(biāo),然后調(diào)用 createMenu 方法,為系統(tǒng)欄圖標(biāo)創(chuàng)建彈出式菜單,同時(shí)為系統(tǒng)欄圖標(biāo)添加 csostrayActionListener 類(lèi)實(shí)現(xiàn)監(jiān)聽(tīng)器。實(shí)現(xiàn)代碼如下: private void SystemTrayInitial() { // 系統(tǒng)欄初始化 if (!()) // 判斷當(dāng)前系統(tǒng)是否支持系統(tǒng)欄 return。 try { String title = EQ通訊軟件 。 String pany = — EQ通訊 — 。 SystemTray sysTray = ()。 Image image = ().getImage( (/icons/))。// 系統(tǒng)欄圖標(biāo) 29 trayicon = new TrayIcon(image, title + \n + pany, createMenu())。 (true)。 (new SysTrayActionListener())。 (trayicon)。 (title, pany, )。 } catch (Exception e) { ()。 } } 二、編寫(xiě) createMenu 方法 該方法用于創(chuàng)建系統(tǒng)欄圖標(biāo)的彈出式菜單,該菜單包括打開(kāi)訪問(wèn)服務(wù)器和退
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1