java plug-in是什么,讓我們一起了解一下?
Plugin是一種計(jì)算機(jī)應(yīng)用程序,它和主應(yīng)用程序(host application)互相交互,以提供特定的功能,使得在瀏覽器中運(yùn)行Java程序成為可能,Java Plug-in在瀏覽器中作為插件存在,同時(shí)也擴(kuò)展了瀏覽器的功能。
我們使用Java Plug-in,可以通過在html頁面中嵌入
如何使用
將applet嵌入到網(wǎng)頁中,最早的使用方法就是使用
注意:Sun推薦在企業(yè)內(nèi)部網(wǎng)(Intranet)中,推薦使用
plug-in的實(shí)現(xiàn)機(jī)制是什么?
1、主應(yīng)用程序提供給插件可以使用的服務(wù),讓插件在主應(yīng)用程序中注冊(cè)插件本身,以及和插件進(jìn)行數(shù)據(jù)交換的協(xié)議。插件依賴于主應(yīng)用程序提供的這些服務(wù),通常不能獨(dú)立運(yùn)行。相反地,主應(yīng)用程序和插件是分離的,這就使得我們可以不改變主應(yīng)用程序而動(dòng)態(tài)增加或更新插件。
2、公開的應(yīng)用程序接口(API)提供一個(gè)標(biāo)準(zhǔn)接口,允許第三方編寫插件和主應(yīng)用程序交互。一個(gè)穩(wěn)定的API必須在主應(yīng)用程序版本升級(jí)后第三方插件仍可以運(yùn)行。插件同時(shí)也延長了過時(shí)的應(yīng)用程序的生命。Adobe Photoshop 和 After Effects 提供給插件的API已經(jīng)成為一種圖像處理軟件API的標(biāo)準(zhǔn),被相類的圖像處理軟件所采納。其它類似的API包括 Audio Units 和VST。
3、這種插件的機(jī)制很普遍,比如一個(gè)網(wǎng)絡(luò)交換器,它有一個(gè)沒被占用而且是非標(biāo)準(zhǔn)的端口,用它來接納不同的任意的物理層連接;再比如計(jì)算機(jī)硬件制造業(yè)的行業(yè)標(biāo)準(zhǔn)架構(gòu)(Industry Standard Architecture)和IBM著名的微通道架構(gòu)(Micro Channel Architecture),都允許第三方設(shè)備。這些都是類似插件的一種機(jī)制。
實(shí)戰(zhàn)操作,具體代碼如下:
Activator類被默認(rèn)實(shí)現(xiàn),繼承AbstractUIPlugin。其中start()和stop()方法,分別會(huì)在啟動(dòng)和停止時(shí)調(diào)用。
public?class?Activator?extends?AbstractUIPlugin?{ ????//?The?plug-in?ID ????public?static?final?String?PLUGIN_ID?=?"com.plugin.blog.demo";?//$NON-NLS-1$ ????//?The?shared?instance ????private?static?Activator?plugin; ????/** ?????*?The?constructor ?????*/ ????public?Activator()?{ ????} ????/* ?????*?(non-Javadoc) ?????*?@see?org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) ?????*/ ????public?void?start(BundleContext?context)?throws?Exception?{ ????????super.start(context); ????????plugin?=?this; ????} ????/* ?????*?(non-Javadoc) ?????*?@see?org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) ?????*/ ????public?void?stop(BundleContext?context)?throws?Exception?{ ????????plugin?=?null; ????????super.stop(context); ????} ????/** ?????*?Returns?the?shared?instance ?????* ?????*?@return?the?shared?instance ?????*/ ????public?static?Activator?getDefault()?{ ????????return?plugin; ????} }
以上就是小編今天的分享了,希望可以幫助到大家。