java plug-in

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java plug-in是什麼,讓我們一起了解一下?

Plugin是一種計算機應用程式,它和主應用程式(host application)互相互動,以提供特定的功能,使得在瀏覽器中執行Java程式成為可能,Java Plug-in在瀏覽器中作為外掛存在,同時也擴充套件了瀏覽器的功能。

我們使用Java Plug-in,可以通過在html頁面中嵌入

如何使用

將applet嵌入到網頁中,最早的使用方法就是使用

注意:Sun推薦在企業內部網(Intranet)中,推薦使用

java plug-in

plug-in的實現機制是什麼?

1、主應用程式提供給外掛可以使用的服務,讓外掛在主應用程式中註冊外掛本身,以及和外掛進行資料交換的協議。外掛依賴於主應用程式提供的這些服務,通常不能獨立執行。相反地,主應用程式和外掛是分離的,這就使得我們可以不改變主應用程式而動態增加或更新外掛。

2、公開的應用程式介面(API)提供一個標準介面,允許第三方編寫外掛和主應用程式互動。一個穩定的API必須在主應用程式版本升級後第三方外掛仍可以執行。外掛同時也延長了過時的應用程式的生命。Adobe Photoshop 和 After Effects 提供給外掛的API已經成為一種影象處理軟體API的標準,被相類的影象處理軟體所採納。其它類似的API包括 Audio Units 和VST。

3、這種外掛的機制很普遍,比如一個網路交換器,它有一個沒被佔用而且是非標準的埠,用它來接納不同的任意的物理層連線;再比如計算機硬體製造業的行業標準架構(Industry Standard Architecture)和IBM著名的微通道架構(Micro Channel Architecture),都允許第三方裝置。這些都是類似外掛的一種機制。

實戰操作,具體程式碼如下:

Activator類被預設實現,繼承AbstractUIPlugin。其中start()和stop()方法,分別會在啟動和停止時呼叫。

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;    }}