转载自: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 文件夹中。
参考: