轉載自:http://ppjava.com/?p=1878java
JDIC(JDesktop Integration Components)是一個開源的項目,目的是構建消除本機應用程序和 Java 等價物之間差距的組件。JDIC單一的 Java API 容許應用程序接進本機操做系統特性,同時保持跨平臺支持。它目前提供了本機 Web 瀏覽器(Internet Explorer 或 Mozilla) 支持、系統托盤支持、文件擴展集成和其餘桌面特性。瀏覽器
JDIC瀏覽器組件WebBrowser的使用方法(將網頁在swing界面上顯示):函數
一、將jdic.jar導入CLASSPATH路徑;spa
二、將jdic.dll、IeEmbed.exe拷貝到系統目錄或CLASSPATH路徑下;操作系統
三、生成java代碼:.net
[java] view plaincopyorm
import java.net.URL; blog
import javax.swing.ImageIcon; 開發
import javax.swing.JFrame; get
import org.jdesktop.jdic.browser.WebBrowser;
public class BrowserTest {
public static void main(String[] args) throws Exception {
WebBrowser browser = new WebBrowser();
browser.setURL(new URL("http://ppjava.com/"));
JFrame frame = new JFrame("ppjava");
frame.getContentPane().add(browser);
frame.pack();
frame.setBounds((frame.getToolkit().getScreenSize().width - 800) / 2,
(frame.getToolkit().getScreenSize().height - 600) / 2, 800, 600);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setIconImage(new ImageIcon("favicon.ico").getImage());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
執行java程序便可實現對IE的調用,以下圖所示。
若報如下錯誤:
Exception in thread 「EventThread」 java.lang.NullPointerException
at org.jdesktop.jdic.browser.internal.MsgClient.(Unknown Source)
at org.jdesktop.jdic.browser.internal.NativeEventThread.run(Unknown Source)
把默認瀏覽器改成IE便可。
JDIC 項目有兩個目標:維護 Java API 的跨平臺,讓程序能夠在任何機器上運行,並支持人們使用的每一個操做系統。由於新功能要求調用每一個操做系統的本機函數,因此這顯然處在一個很艱難的位置上。JDIC 是經過將其 Java API 做爲全部這些本機調用的包裝器來實現這一點的。JDIC 組件代碼自己指出正在哪一個操做系統上運行應用程序,並調用適當的 JNI 函數。(您能夠看到,在代碼內部有針對每一個操做系統的 if/else 鏈。這就是跨平臺兼容性的代價。)
編寫和運行使用 JDIC 應用程序的機器設置比一般狀況略微麻煩一些。除了一般的類路徑要求以外,還必須提供 Java 類要調用的操做系統庫。每一個操做系統都有不一樣的操做系統庫,因此若是想使用 JDIC 將應用程序移植到許多不一樣的操做系統上,則必須爲每一個操做系統提供一個庫。
開始下載跨平臺 JDIC 包,其中包括:
jdic.jar:這個 JAR 文件包含進行 JDIC 開發所需的全部 Java 類。它們必須位於類路徑中,以便進行編譯。
jdic.dll和 tray.dll:在 Windows 安裝中,這些文件都要放在 C:\Windows 目錄(或者CLASSPATH)中。這些文件包含 jdic.jar 的 Java 方法和本機操做系統方法之間的「橋接」方法。
libjdic.so和 libtray.so:在 Solaris 和 Linux 系統上,這些文件必須放在 LD_LIBRARY_PATH 文件夾中。
參考: