設備狀態顯示的flex實現說明

設備狀態顯示的flex實現說明
2010年08月10日
  Author: Allan(吳進剛)
  做這個圖還是費了點心思,因爲網上實在沒有什麼例子可以借鑑,我感覺flex應該是有這樣的組件可用纔對,但是我查了半天的資料,真是枉費心機,怎麼也沒找到,只有自己想辦法解決了。
  怎麼樣讓設備端口的顏色自己閃動,自己變色了,乍一看比較難下手,可是仔細想想卻有兩個辦法可以解決,1:在要動態顯示的地方把它圈住,動態的修改這個地方的background colour;2:在要動態顯示的地方做一個圖片,然後動態的換這張圖片就好了。
  在實驗第一方案的時候確實是可以也成功了,可是要想圈個不規則的圈就比較麻煩了,而第二種方案也成功了,但他有個好處就是按照你所需要的樣子,任意的改變,圓形,橢圓行,或者水晶頭的形狀,這樣毫無疑問選擇了第二種方案。
  首先請看代碼如下:
  //顯示圖片
  [b]private[/b] [b]function[/b] show(e:Event):[b]void[/b]{
  [b]var[/b] s:String=e.currentTarget.source;
  Alert.show(s);
  [b]this[/b].imgp.source=s;
  [b]if[/b](s.indexOf([b]"red"[/b]) > 0) {
  imgp.toolTip=[b]"端口狀態:不可用\n端口編號:1222 \n 端口名稱:dkdfdk"[/b];
  } [b]else[/b] [b]if[/b](s.indexOf([b]"green"[/b]) > 0) {
  imgp.toolTip=[b]"端口狀態:可用\n端口編號:1222 \n 端口名稱:dkdfdk"[/b];
  }[b]else[/b] {
  imgp.toolTip=[b]"端口狀態:未知\n端口編號:1222 \n 端口名稱:dkdfdk"[/b];
  }
  }
  
  
  
  
  
  
  
  Id爲imgBag的是背景圖片,是用來展示設備的;
  Id爲imgp 的是需要替換的圖片;
  最下面三個是用來去替換imgp的圖片,mouseMove="show(event)" 當鼠標放到圖片上面的時候,調用show(event)函數,然後把這張圖片替換之前的那張。這樣就實現了動態展現設備的狀態;
  最後說明如何利用blazeds與 Java server 通信(其實和動態曲線去的動態實現是一樣的),實時展現後臺的數據設備狀態圖:
  請看代碼:
  
  
  
  
  
  
  
   -->
  
  
  
  
  
  mx:ChannelSet:定義一組頻道;
  mx:AMFChannel:定義一個頻道;
  mx:RemoteObject:定義一個遠程對象;
  destination="graphTest1FeedStarter":選定一個server定義的對象;
  channelSet="{cs}":選定一個頻道;
  mx:Consumer:訂閱目標來接收消息;
  destination="graphTest1-feed":選定一個server定義的對象;
  channelSet="{cs2}":選定一個頻道;
  message="messageHandler(event.message)":接收到消息時分派; 下面是分派消息的函數:爲設備狀態圖綁定的數據源testDatas提供實時數據取代上面show(event)函數;
  [b]import[/b] mx.messaging.messages.IMessage;
  [b]private[/b] [b]function[/b] messageHandler(message:IMessage):[b]void[/b] {
  [b]if[/b] (parseInt(message.body.toString()) <= 15) {
  //Alert.show(message.body.toString());
  [b]this[/b].imgp.source=[b]"img/redPort.PNG"[/b]
  ;
  imgp.toolTip=[b]"端口狀態:不可用\n端口編號:1111 \n 端口名稱:dkdfdk"[/b];
  } [b]else[/b] [b]if[/b] ((15< parseInt(message.body.toString())) && (parseInt(message.body.toString())<= 35)) {
  [b]this[/b].imgp.source=[b]"img/greenPort.PNG"[/b]
  ;
  imgp.toolTip=[b]"端口狀態:可用\n端口編號:1111 \n 端口名稱:dkdfdk"[/b];
  }[b]else[/b] {
  [b]this[/b].imgp.source=[b]"img/brownPort.PNG"[/b]
  ;
  imgp.toolTip=[b]"端口狀態:未知\n端口編號:1111 \n 端口名稱:dkdfdk"[/b];
  }}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章