快速业务通道

在Java程序中内嵌Mozilla浏览器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
l

如果之前版本的XULRunner 注册为供当前用户使用,则执行命令:

Windows:XULRunner --unregister-user

Linux: ./XULRunner --unregister-user

Mac: ./XULRunner-bin --unregister-user

通过命令行注册 XULRunner 。

注册为供所有用户使用:

Windows:XULRunner --register-global

Linux:sudo ./XULRunner --register-global

Mac: sudo ./XULRunner-bin --register-global

注册为供当前用户使用:

Windows:XULRunner --register-user

Linux: ./XULRunner --register-user

Mac: ./XULRunner-bin --register-user

做完以上准备工作后,就可以通过简单的代码创建一个基于 Mozilla 的SWT 浏览器部件。

清单 1. 创建一个简单的浏览器

Display display = new Display ();    final Shell shell = new Shell (display);    FillLayout layout = new FillLayout();    shell.setLayout(layout);   Browser browser = new Browser(shell, SWT.MOZILLA); //1   browser.addTitleListener(new TitleListener(){ //2    public void changed(TitleEvent event) {     shell.setText(event.title);      }    });    browser.setUrl("www.eclipse.org"); //3    shell.open ();    while (!shell.isDisposed ()) {     if (!display.readAndDispatch ()) display.sleep ();    }   display.dispose ();

在Java程序中内嵌Mozilla浏览器(3)

时间:2010-12-15 IBM 裴娜

代码说明:

创建一个 SWT 浏览器部件,SWT.MOZILLA 样式用于指定此浏览器部件基于 Mozilla 。如果指定 SWT.NONE,则创建默认 SWT 浏览器部件(在不同平台上基 于不同内核)

监听浏览器的标题事件 (TitleEvent) 。将窗口的标题设置为浏览器页面的标题。

访问www.eclipse.org。

Browser 类提供 setUrl(),getUrl(),setText(),getText() 等一系列方 法和一系列监听器(Listener)供开发者使用,参见 SWT 文档。

图 2. 一个简单的浏览器:

JavaXPCOM

Browser 类所提供的API 在实际开发中的确可以满足大部分的用户需求。但 是如果要扩展浏览器的功能,提供更丰富细腻的控制,则可以使用 JavaXPCOM 进行进一步的开发工作。

这里需要解释一下一些概念。

XPCOM:XPCOM 的英文全称是 Cross Platform Component Object Model,即 跨平台的组件对象模型。它是一种跟 COM 类似的组件技术。所不同的是它是跨 平台的。XPCOM 体系中最重要的基本概念是接口(Interface),组件 (Component) 和服务(Service) 。接口定义功能,组件可以实现多个接口的功 能,组件实现的改变不影响功能。服务则可以被认为是一种单态的组件。也就是 说,XULRunner 的基本组成单元是 XPCOM 组件,它由许多 XPCOM 组件拼接而成 ,这些组件之间通过接口相互调用,协同完成浏览器的种种功能。

XULRunner 基于 XPCOM 的本质,使得 Mozilla 有着很强的扩展性和可定制 性。

JavaXPCOM:顾名思义,JavaXPCOM 就是 Java 与 XPCOM 的桥梁。JavaXPCOM 允许在 Java 和 XPCOM 间进行会话,这样一来,Java 应用程序就可 以访问 XPCOM 对象,并且 XPCOM 也可以访问任何实现了 XPCOM 接口的Java 类。借助 JavaXPCOM,开发者可以在 Java 应用程序中同 XPCOM 或嵌入的Gecko 对话。JavaXPCOM 和 XPConnect(JavaScript-XPCOM 桥)十分相似,并 且使用 XPIDL 实现其功能。

为了在 SWT 中使用 JavaXPCOM,我们需要做一些准备工作:下列步骤引自 http://www.eclipse.org/swt/faq.php#howusejavaxpcom

在 eclipse 中运行程序:

下载 org.Mozilla.xpcom plugin

导入 eclipse workspace

加入开发中的plugin 的required plugin 列表中。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号