国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

探索研究Laszlo的類、屬性及事件(圖)

2019-11-18 12:27:04
字體:
來源:轉載
供稿:網友

  Laszlo,一個大量應用于interent應用程序的xml平臺,最近成了開源代碼.這個平臺結構與XUL和XAML十分相似,都是在瀏覽器中完成設計.Laszlo使用Macromedia Flash作為它的執行平臺,以此獲得卓越的兼容性.
  
  Laszlo應用程序由LZX寫成.LZX是基于XML的程序語言,可以用任何一個文字編輯器書寫.當Laszlo服務器訪問這些文件,它將這些LZX文件轉化為比特碼或二進位形式,然后這些編碼被送到瀏覽器中Macromedia Flash插件.你的服務器不需要Macromedia Flash成分.Macromedia Flash可用和兼容于在大多數瀏覽器.
  
  你可以在java.net中查閱"Laszlo: An Open Source Framework for Rich Internet applications"(作者:Bill Grosso )來獲取關于這種平臺的基本原理.本文中,我將會談論語言的一些基本原則,這些原則在你使用LZX編寫程序時將會派上用場.至于更深一步的學習,可以求助于Laszlo站點的文檔.
  
  設立Laszlo的“開發便箋”
  
  使用 我關于Laszlo的評注,或者訪問Laszlo站點,下載安裝Laszlo.也許你已經安裝了Tomcat.假如這樣的話,Laszlo的安裝文檔將會在Laszlo安裝時建議暫停Tomcat.假如你沒有安裝Tomcat,Laszlo將會附帶一份Tomcat拷貝.安裝后,你可根據上面所提到的評注,將Laszlo設為Tomcat的另一個web應用。對于經驗豐富的Tomcat使用者,這僅僅是大概設置一下WEB瀏覽器的根.
  
  我們寫一段LZX文件來開始你的學習過程.代碼如下:
  
  <canvas height="500" width="800" debug="true">
  <debug x="450" y="0" height="300"/></canvas>
  
  當LZX文件被提交給瀏覽器,你的瀏覽器版面將會與圖1相同.我把它叫做你的“開發便箋”.這是應用程序開發所必需的.初始設置答應你寫一個調試器聲明,將它們在調試器窗口顯示.這個設置還答應在調試器外有足夠的空間以存儲視覺控制器.
  
 探索研究Laszlo的類、屬性及事件(圖)(圖一)

  
圖1:Laszlo“開發便箋”.

  
  編寫類
  
  現在你有了一個可以使用的開發便箋,你可以在 Laszlo寫一個類來開始編碼練習.一個類的基本特點是它的一些局部變量.下面的代碼定義一個類和類中的一些變量.假如不是由于XML句法的原因,Laszlo的類定義與Java類定義非常相似.與Java不同的是,Laszlo類型系統與動態語言如javascript非常類似;也就是說,它非常的靈活寬松.
  
  <canvas width="800" debug="true"><debug x="450" y="0" height="300"/><class name="test">
  <attribute name="a1" type="string"/>
  <attribute name="b1"/></class></canvas>
  
  Laszlo中,每一次動作都在<canvas>標記符中發生.如此例所示,一個LZX類在<canvas>標記符中定義.這個編碼將一個類定名為test,屬性名a1,b1.
  
  實例化一個類
  
  上述的編碼定義了一個類,下面的編碼將會說明如何實例化所定義的類test:
  
  <canvas width="800" debug="true"><debug x="450" y="0" height="300"/><class name="test">
  <attribute name="a1" type="string"/>
  <attribute name="b1"/></class><!--Instantiating a class--><test name="testInstance"></test></canvas>
  
  仔細看著,類名test是如何實例化為下一個節點或<test>標記符.實例化對象被命名為testInstance,當需要時,它可以作為變量canvas.testInstance被使用.
  
  Laszlo中屬性的特點
  
  Laszlo中,每當一個屬性的建立和更改時,一個onchange事件將會產生.對于那些由事件控制的可視化編程來說相當的棒.這種機制將會節省編碼工作量,更不必提其可讀性和易理解性.
  
  本文的主要目的是向你展示如何設定一個屬性,如何激活事件和怎樣編碼以響應這些事件.我將會展示怎樣寫一個關于屬性a1的onchange事件.
  
  <canvas width="800" debug="true"><debug x="450" y="0" height="300"/><class name="test">
  <attribute name="a1" type="string"/>
  <attribute name="b1"/></class><!--Instantiating a class--><test name="testInstance">
  <!--Demonstrating an onchange for attribute event-->
  <method event="ona1" name="ona1Method">
  Debug.write("hey this works");
  </method>
  </test></canvas>
  
  看到方法怎樣定義ona1事件了嗎?當a1的屬性被改變時事件將被激活.這個編碼還展示了定義一個方法的基本語法.注重,與Java不同,方法屬于對象或實例,在類中并沒有此方法.method塊在調試器中寫了一行.假如調試器被激活,此行會在調試器窗口中顯示出來.
  
  寫LZX時,注重所有LZX的書寫和命名對大小寫不敏感.然而,在XML中定義節點和標示符,XML大小寫敏感,Javascript同樣如此.所以當你面對Laszlo時一定要緊記這個差別.
  
  Refining the "Developer Pad" with Alerts
  
  在JavaScript中編程,調用alert()方法進行調試是很平常的. 所以我在Laszlo中尋找可以信賴的alert()方法,不過沒有找到.但是卻意外地找到一個名為alert的控制器(更確切地說,是一個模態對話框).我猜測我可以利用其來模擬alert功能,當作調試器使用.以下編碼是我的嘗試.此外,到目前為止,這些編碼都是學習LZX的基本特征.
  
  <canvas width="800" debug="true"><debug x="450" y="0" height="300"/><class name="test">
  <attribute name="a1" type="string"/>
  <attribute name="b1"/></class><!--Instantiating a class--><test name="testInstance">
  <!--Demonstrating an onchange for attribute event-->
  <method event="ona1" name="ona1Method">
  Debug.write("hey this works");
  </method></test><!-- Simulating an alert --><!-- Instantiate a modal alert dialog --><alert name="myalert" width="100" y="100">
  hi - initial text</alert><!-- A method to work the modal dialog --><method name="showAlert" args="displayText">
  canvas.myalert.setAttribute("text",displayText);
  canvas.myalert.open();</method><!-- Testing the alert function --><button onclick="canvas.showAlert('Alert Button Pressed')">
  Show Alert</button></canvas>
  
  在上面的編碼中,我創造了一個canvas的子類alert組件的實例,聲明了alert的大小,還命名為myalert,并賦與其內容:"hi - initial text.".
  
  我還寫了一個showAlert方法來顯示對話框.此方法有一個參數叫做text.方法主體訪問模式對話框,將其屬性text傳遞至displayText.然后,此方法在模式對話框上調用open方法.
  
  我還制作了一個按鈕叫做showAlert().當showAlert按鈕被按下,你將會看到一個關于你文本的警告.由于這個按鈕是canvas的子類,沒有位置設置,它將在屏幕的左上角顯示.可以使用下面的編碼改變按鈕位置,使它出現調試窗口的下面:
  
  <button x="500" y="310"
  onclick="canvas.respondToMethod()">Show Alert</button>
  
  圖2中觀察結果.
  
 探索研究Laszlo的類、屬性及事件(圖)(圖二)

  
圖2:附帶警告窗的Laszlo“開發便箋”

  
  探索屬性及事件及聯系
  
  范例代碼現在開始進一步探索屬性與事件之間的聯系.被用來測試alert的按鈕也可以用來設定此前定義的屬性.我想要展示的是設定這些屬性如何觸發相應的onchange方法.
  
  以下編碼是一個方法,respondToButton(), 將在showAlert按鈕按下時被調用.
  
  <canvas width="800" debug="true"><debug x="450" y="0" height="300"/><class name="test">
  <attribute name="a1" type="string"/>
  <attribute name="b1"/></class><!--Instantiating a class--><test name="testInstance">
  <!--Demonstrating an onchange for attribute event-->
  <method event="ona1" name="ona1Method">
  Debug.write("hey this works");
  </method>
  </test><!-- Simulating an alert --><!-- A modal alert dialog --><alert name="myalert" width="100" y="100">
  hi - initial text</alert><!-- A method to work the modal dialog --><method name="showAlert" args="displayText">
  canvas.myalert.setAttribute("text",displayText);
  canvas.myalert.open();</method><!-- Testing the alert function --><button onclick="canvas.respondToButton()">Show Alert</button><method name="respondToButton" >
  //PRepare a string
  var somestring =
  "Hey, I am setting the a1 attributes value";
  //Write a debug to see it
  Debug.write(somestring);
  //Call the alert to see it
  showAlert(somestring);
  //Go ahead and set the attribute
  canvas.testInstance.setAttribute("a1",'satya');
  //The above will fire an event causing
  //"ona1Method" to execute.
  //You will see this in the debugger</method><

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马边| 九龙城区| 梁河县| 湖口县| 丹东市| 满城县| 江源县| 三台县| 忻城县| 双峰县| 车险| 鱼台县| 花莲县| 陕西省| 怀柔区| 易门县| 甘谷县| 库车县| 峨眉山市| 陕西省| 常州市| 武威市| 五河县| 加查县| 都昌县| 连平县| 来安县| 隆安县| 苏尼特左旗| 芒康县| 增城市| 崇信县| 石屏县| 宜宾县| 濉溪县| 西乌| 峡江县| 稷山县| 曲麻莱县| 正安县| 礼泉县|