追隨Java
          簡單的事情重復(fù)做,就會產(chǎn)生累積效應(yīng)!
          posts - 260,  comments - 338,  trackbacks - 0

          ??????????????????????????????????????????? javascript與applet之間相互通訊
          ???????? javascript與applet之間能夠相互通訊給我們帶來了很多方便,Java與JavaScript互相補(bǔ)充,
          ?以開發(fā)功能更完美的Web應(yīng)用程序。B/S下能夠充分利用java的優(yōu)勢,給我們帶來更多的網(wǎng)絡(luò)體驗(yàn),
          ?方便用戶。我用的比較多的是利用Swing組件開發(fā)的應(yīng)用程序利用applet實(shí)現(xiàn)B/s下架構(gòu),
          ?這樣能夠充分顯示Swing組件的優(yōu)勢,便于系統(tǒng)升級,便于維護(hù);還有就是在WEB下,
          有時客戶端要使用本地的硬件資源,我所知道的是通過applet來實(shí)現(xiàn),通過applet去調(diào)用javaAPI(jni,
          javacomm20-win32【詳見http://www.javaeye.com/topic/64859】)來實(shí)現(xiàn)。不知道有沒有類似applet的實(shí)現(xiàn)方式,我想應(yīng)該有的。
          ?我們具體來看看javascript與applet之間到底是怎樣通訊的呢?

          1.JavaScript訪問Applet
          ?? ?<applet name="appletName" ....../>
          ???? //JavaScript訪問Applet屬性
          ???? window.document.appletName.appletField? (屬性必須是public的,"window.document."也可以不寫)
          ???? //JavaScript訪問Applet方法
          ???? window.document.appletName.appletMethod? (方法必須是public的,"window.document."也可以不寫)
          ????
          2.Applet訪問JavaScript
          ???? Live Connect提供了Java與JavaScript的接口,可以允許在Java Applet小程序中使用JavaScript。
          ???? 需要用到一個jar包,在C:\WINNT\java\Packages目錄下找,大概有5M多,
          ???? 其實(shí)就是打開看哪個有netscape.javascript.JSObject。如果沒有裝個NetScape或從網(wǎng)上下都可以。
          ???? 可以把它重命名為netscape.jar(不是必須的),一定要加入到classpath,目的是使開發(fā)的時候能夠編譯。
          ???? 特別注意的是:部署時不需要包括netscape.jar,因?yàn)檎麄€包會下載到客戶端,影響速度。
          ?????
          ?????//引入netscape類
          ??? import netscape.javascript.JSObject;
          ??? import netscape.javascript.JSException; //可允許在小程序中處理異常事件

          ??? win=JSObject.getWindow(this); // 獲取JavaScript窗口句柄,引用當(dāng)前文檔窗口
          ??? doc=(JSObject)win.getMember("document"); // 訪問JavaScript document對象
          ??? form=(JSObject)doc.getMember("textForm"); //訪問JavaScript form對象?
          ??? textField=(JSObject)form.getMember("textField");訪問JavaScript text對象?
          ???? text=(String) textField.getMember("value"); //獲取文本區(qū)的值
          ???
          ??? // 調(diào)用JavaScript的alert()方法
          ??? win.eval("alert(\"This alert comes from Java!\")");
          ???
          ??? // 調(diào)用JavaScript的myFunction(message)方法
          ??? win.call("myFunction", new Object[]{"Hello"});//參數(shù)用數(shù)組的形勢表示。

          注意: 你必須在<applet/>標(biāo)記中加入MAYSCRIPT才能夠調(diào)用JSObject對象,不然會拋出JSException
          異常。你也不必初始化他們,在什么地方用就在什么地方用吧。
          ???

          posted on 2007-03-26 16:43 Harryson 閱讀(3957) 評論(0)  編輯  收藏 所屬分類: J2SE

          <2007年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(10)

          隨筆分類(319)

          AJAX

          Coffee House

          CSS

          Java

          JavaScript

          Open Source

          ProjectManagement

          友情Blog

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 三亚市| 安康市| 县级市| 宁海县| 宝坻区| 永州市| 油尖旺区| 阜新| 临湘市| 沙田区| 清水河县| 南宁市| 华蓥市| 芦山县| 新化县| 惠水县| 贺州市| 崇仁县| 霍邱县| 二连浩特市| 金阳县| 高密市| 扬中市| 客服| 衡阳市| 临西县| 正安县| 运城市| 万山特区| 宿松县| 南充市| 安图县| 当阳市| 宣武区| 抚松县| 淅川县| 江门市| 南丹县| 卢氏县| 夹江县| 奉节县|