明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

flash中通過XMLSocket監(jiān)控生產(chǎn)系統(tǒng)(3-4)

[摘要]4) 選中 UI層,在工具箱選中文本工具,并在屬性檢查器中設(shè)置屬性Show Border Around Text為真、文本類型為Dynamic Text(動(dòng)態(tài)文本)、文本為Multiline(多行),在Stage (舞臺(tái))上半部分畫一個(gè)大的文本區(qū)域,把其實(shí)例名設(shè)為 txt。如圖三,現(xiàn)在注意到,tx...
4) 選中 UI層,在工具箱選中文本工具,并在屬性檢查器中設(shè)置屬性Show Border Around Text為真、文本類型為Dynamic Text(動(dòng)態(tài)文本)、文本為Multiline(多行),在Stage (舞臺(tái))上半部分畫一個(gè)大的文本區(qū)域,把其實(shí)例名設(shè)為 txt。如圖三,現(xiàn)在注意到,txt文本域具有了邊框和白色背景,我個(gè)人不太喜歡白色,能不能改變文本域的背景色呢?

當(dāng)然能,可以這么說,在Flash MX中,能夠看到的都有方法來改變,我們就把txt文本域的背景變成 #BBBBCC顏色吧,請(qǐng)?jiān)诔绦虻?[Flash創(chuàng)作時(shí)對(duì)象的初始化]部分加入下面語句:

txt.backgroundColor = "0xbbbbcc";

通過 Control -> Test Movie 菜單(或 Ctrl + Enter快捷鍵)預(yù)覽,您會(huì)看到txt文本域的背景已經(jīng)變成所期望的顏色。

5) 通過 Window -> Componets 菜單,打開Componets(組件)面板,選擇ScrollBar組件拖到舞臺(tái)上的txt文本域上,當(dāng)釋放鼠標(biāo)時(shí),兩者會(huì)自動(dòng)結(jié)合,如圖五。到屬性檢查器中,ScrollBar組件的Target TextField屬性為 txt ,同時(shí)給ScrollBar組件起一個(gè)唯一的實(shí)例名,如scrollbar ,由于當(dāng)信息顯示滿一屏?xí)r,需要通過滾動(dòng)條查看以往的信息,所以需要在程序一開始對(duì)scrollbar進(jìn)行設(shè)置以激活它,在程序的 [Flash創(chuàng)作時(shí)對(duì)象的初始化]部分加入下面語句:

scrollbar.setScrollProperties(10, 10, 20);

6) 從工具箱中選擇文本工具,在屬性檢查器中設(shè)置屬性Show Border Around Text為真、文本類型為Input Text(輸入框文本)、文本為Single Line(單行),在Stage(舞臺(tái))上txt文本區(qū)域的下面靠左畫兩個(gè)文本域,把其實(shí)例名分別設(shè)為txtHost和txtPort,如圖三:



另外,在屬性檢查器中,設(shè)置txtPort的Maximum Characters(最大長(zhǎng)度)為5(因?yàn)槎丝跀?shù)最大為65535),設(shè)置txtPort只能輸入數(shù)字,我們可以在屬性檢查器中的Character按鈕設(shè)置限制,我們這里用ActionScript在運(yùn)行時(shí)設(shè)置(也可以在屬性檢查器中設(shè)置),在程序的 [Flash創(chuàng)作時(shí)對(duì)象的初始化]部分加入下面語句:

txtPort.restrict = "0-9";
txtPort.onChanged = txtPort_onChanged;


并且設(shè)置txtHost的內(nèi)容為 ”Default Host”, txtPort的內(nèi)容為 ”6666”。同時(shí), 由于用戶在txtPort中鍵入錯(cuò)誤的端口數(shù)時(shí),txtPort的背景將變成紅色(詳見前面輸入框 文本(Input Text)的介紹),當(dāng)用戶再次鍵入時(shí),背景顏色將變回原來的白色,這 txtPort的onChanged事件中得以實(shí)現(xiàn)。 7) 從Componets(組件)面板上,選擇兩個(gè)PushButton組件拖到舞臺(tái)上的txt文本域的下部靠右的位置,水平與前面兩個(gè)輸入框文本對(duì)起。

第一個(gè)PushButton按鈕的實(shí)例名設(shè)為 btnConnect ,Label(標(biāo)簽)設(shè)為 Connect, Click Handler(單擊事件處理函數(shù))設(shè)為btnConnect_onClick 。第一個(gè)PushButton按鈕 的實(shí)例名設(shè)為 btnClear ,Label(標(biāo)簽)設(shè)為 Clear,單擊事件處理函數(shù)設(shè)為 btnClear_onClick ,如圖四:




通過完成以上的步驟,我們已經(jīng)建立了Flash客戶端的用戶界面,F(xiàn)在我們來在程序的第二部分[Flash運(yùn)行時(shí)對(duì)象的初始化]中,創(chuàng)建并初始化相應(yīng)的對(duì)象:


myTextFormat = new TextFormat();

socket = new XMLSocket();
socket.onConnect = myOnConnect;
socket.onXML = myOnXML;
socket.onClose = myOnClose;


  以上語句中,第一條語句生成一個(gè)TextFormat(文本樣式對(duì)象)實(shí)例myTextFormat,以達(dá)到以不同顏色顯示不同類型數(shù)據(jù)的目的(詳見前面動(dòng)態(tài)文本(Dynamic Text)的介紹 )。接著生成一個(gè)XMLSocket對(duì)象實(shí)例socket,并分別設(shè)置其onConnect、onXML、onClose事件的處理函數(shù)。

  以下我們最后只剩下編寫各種對(duì)象的事件處理函數(shù)了,由于在本文的第二部分里,就有關(guān)的技術(shù)已經(jīng)做了相當(dāng)詳細(xì)的介紹,并且您可以同時(shí)參照本文附帶的程序源碼,為了節(jié)省篇幅,這部分將不再做進(jìn)一步的介紹了,如果您在實(shí)際使用中,有問題您可以給我發(fā) E_mail: yz2yz@etang.com。

  現(xiàn)在程序已經(jīng)完成了,在您的Web服務(wù)器上啟動(dòng)服務(wù)端模擬程序,然后通過瀏覽器連接到相應(yīng)包含F(xiàn)lash客戶端的頁面,單擊Connect按鈕,如果沒有其他的意外,您就會(huì)看到客戶端正常地運(yùn)行了。如果為了測(cè)試的方便,您可以在本地機(jī)啟動(dòng)服務(wù)端模擬程序,然后通過單獨(dú)的Flash Player 6來打開,在txtHost中鍵入“127.0.0.1”,這樣您就省了架設(shè)Web服務(wù)器的麻煩。祝您順利!

  點(diǎn)擊 下載源代碼