在 Java 程序中内嵌 Mozilla 浏览器
2009-11-05 00:00:00 来源:WEB开发网简介
SWT 浏览器部件是 SWT 所提供的众多部件中较为复杂的一个,它提供了在 Java 应用程序中内嵌浏览器应用并通过 Java API 与之进行交互的能力。一个典型的应用场景是,开发者可以在客户段程序中嵌入一个内置浏览器,访问特定 HTML 应用,从而集 web 技术与客户端技术两者之所长,开发出具有更丰富功能和界面的软件。
本文主要包含两个方面的内容:1. 如何在 Java 应用程序中内嵌基于 Mozilla 的浏览器部件。 2. 使用 JavaXPCOM bridge 定制浏览器功能及与 XULRunner 进行更多交互。
本文中范例程序在 Mac OS 10.5, JDK1.5,XULRunner 1.8.1.3 环境下开发,编译与测试。
浏览器部件简史
SWT( The Standard Widget Toolkit)最早在 3.0 版本中引入浏览器部件,早期目的是为了提供一些简单的接口,使用户得以在 Java 程序中显示和浏览 HTML 页面。
最早,在不同的平台上的浏览器部件基于不同的内核,比如,在 Windows 上基于 Internet Explorer 内核,在 Linux 上基于 Mozilla,在 Mac 上基于 Webkit 。这种机制使得 SWT 浏览器部件风格尽量接近于各个操作系统上预装的浏览器 (Windows 上的 Internet Explorer, Linux 上的 Firefox,Mac 上的 Safari),但却导致了在不同平台下浏览器部件的行为不一致性。比如在 Linux 上的浏览器部件下打开 about:config 链接,你会看到 Mozilla 的用户偏好配置页面 ( 见图 1),但在 Windows 和 Mac 的 SWT 浏览器部件将显示空白页面。
更多精彩
赞助商链接