Swing嵌入Html/Jsp

來源:互聯網
上載者:User

 

對於一個Swing寫的應用程式,在很多的工程中,是需要嵌入到頁面的。這樣不僅增加了互動性和介面可操作性,而且讓程式更加人性化。

而以往的介面嵌入,大多是以Applet為主的。但是對於Swing為主的程式,sun公司仍然是提供解決方案的。

原理:

頁面代碼:

<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
    width="400" height="300" align="baseline"
    codebase="http://java.sun.com/products/plugin/1.4/jinstall-14-win32.cab#Version=1,4,0,mn">
    <PARAM NAME="code" VALUE="Example.class">
    <PARAM NAME="codebase" VALUE="/">
    <PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.4">
    <PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
    <PARAM NAME="scriptable" VALUE="true">

    <COMMENT>
    <EMBED type="application/x-java-applet;jpi-version=1.4" width="400"
     height="300" align="baseline" code="Example.class" codebase="/"
     model="models/HyaluronicAcid.xyz"
     pluginspage="http://java.sun.com/j2se/1.4/download.html">
     <NOEMBED>
      No Java 2 SDK, Standard Edition v 1.4 support for APPLET!!
     </NOEMBED>
    </EMBED>
    </COMMENT>
</OBJECT>

解釋:

<OBJECT> 是IE瀏覽器推薦用來嵌入Applet的標籤。這個標籤中的URI以“clsid”開始,只有IE瀏覽器支援這個屬性,其他瀏覽器都不支援。URI以“clsid”開始,表明這是一個ActiveX控制項,只有Windows中的IE才識別的屬性,代表註冊表中一個註冊的ActiveX類,“CAFEEFAC-0014-0002-0000-ABCDEFFEDCBA”是SUN JRE安裝時在Windows中註冊的,代表SUN Java Plug-in 1.4.2。因此當IE解析到樣本中的標籤時,會通過註冊表,尋找到Java Plug-in,然後啟動JRE,在當前位置渲染這個Applet。另外一個clsid值:“8AD9C840-044E-11D1-B3E9-00805F499D93”,代表當前最新的JRE版本。“codebase”屬性指定了一個特定版本JRE的下載地址,當用戶端機器上沒有安裝Java Plug-in時,會自動從這個地址下載安裝Java Plug-in。“scriptable”屬性用於指定Applet樣本是否能與頁面中的JavaScript互動。

<EMBED >是Netscape Navigator 4.x瀏覽器支援的嵌入Applet的標籤,其他瀏覽器很少支援這個標籤的,因此實際應用的很少。這個標籤不支援以內嵌Param標籤的方式為Applet傳遞參數。

因此,最上面的寫法是一種折中的寫法-----為的是這種主流瀏覽器對Swing的支援。把Embed標籤用Comment標籤包含起來,放在Object標籤內部。IE在解釋Object標籤時,會忽略Comment標籤內的內容。而Netscape Navigator不能識別clsid、不能識別Comment標籤,它會忽略忽略外層的Object標籤和Comment標籤,而只看到Embed標籤的內容。這樣,這段代碼可以同時適應IE和Netscape Navigator兩種瀏覽器。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.