`
mtnt2008
  • 浏览: 369549 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

swt使用ole[转]

阅读更多

    在一个视图中包含一个Active X控件需要两个对象的支持,即一个OleFrame和一个OleClientSite对象。如果需要创建一个OLE应用,需要先后创建他们。

 

    创建 OleFrame对象比较简单,OleFrame类定义在org.eclipse.swt.ole.win32中,创建OleFrame对象只需要简单的 new就可以,如下:

OleFrame frame = new OleFrame(parent, SWT.NONE); 
 

在这个构造函数中,第一个参数指的是该OleFrame的母窗口部件,即Active X控件将要被嵌入的窗口部件。


    在OleFrame的基础上就可以创建OleClientSite对象,创建该对象需要知道控件的programID

 

    OleClientSite client = new OleClientSite(frame,SWT.NONE,"Shell.Explorer"); 

 

    创建对象后,还需要激活,才能够在RCP程序中对这些OLE对象进行操作。如下:

 

client.doVerb(OLE.OLEIVERB_SHOW); 


    然后,我们需要操作这个Active X控件,调用它的方法,或者设置它的属性。比如在此例中,我们需要调用浏览器控件的navigate方法,以便我们的浏览器控件显示 www.blogjava.net的主页。对Active X控件的操作通过OleAutomation对象来实现,创建OleAutomation对象的方法如下:

 

       OleAutomation automation = new OleAutomation(client); 

 

    再通过automation.invoke()来调用Active X控件的方法,其中invoke方法有几种重载形式,有只带一个int参数的,也有带int和Variant[]两个参数的,其中的int参数表示要调用 的Active X控件的方法的ID,Variant[]参数就是要传递给Active X控件的方法的参数。

    这里我们要说一说Variant类,这个类提供了多个构造函数,可以方便的将int,float,long,double,string等等基本数据类型封装为Variant,比如我们要传递给浏览器控件的navigate方法的地址参数:

 

   Variant url = new Variant("http://www.iteye.com");
   automation.invoke(104, new Variant[]{url}); 

 


代码示例:

OleFrame frame = new OleFrame(parent, SWT.NONE);  
OleClientSite client = new OleClientSite(((OleView)vw).frame,SWT.NONE,"Shell.Explorer");  
client.doVerb(OLE.OLEIVERB_SHOW);  
OleAutomation oa = new OleAutomation(client);  
Variant str = new Variant("http://www.iteye.com/");  
oa.invoke(104, new Variant[]{str});  
 

 

分享到:
评论

相关推荐

    SWT EXCEL OLE

    2. Excel OLE 对象:Excel 是一个 OLE 对象,我们可以使用 OleClientSite 来将其嵌入到 SWT 应用程序中。在本例中,我们使用 "Excel.Sheet" 作为 OLE 对象的 Id,表示要嵌入 Excel 工作表。 3. SWT 控件:在本例中,...

    SWT 使用 OLE 函数调用com控件的资料

    SWT 使用 OLE 函数调用com控件的资料 SWT 使用 OLE 函数调用com控件的资料SWT 使用 OLE 函数调用com控件的资料SWT 使用 OLE 函数调用com控件的资料 SWT 使用 OLE 函数调用com控件的资料

    在SWT中使用OLE操纵Excel入门培训文档

    在SWT中使用OLE操纵Excel入门培训文档,里面整理了很多资源,下载的请使劲戳

    Java通过Ole调用Windows Media Player

    1. **导入必要的库**:为了在Java中使用SWT和Ole,需要引入`org.eclipse.swt.*`和`org.eclipse.swt.ole.win32.*`库。JNA库也需要被包含,如果选择使用JNA直接访问COM接口。 2. **创建Ole初始环境**:在Java程序中,...

    swt资源释放问题

    SWT 资源释放问题详解 SWT(Standard Widget Toolkit)是一种基于 Java 的 GUI 工具包,提供了丰富的图形用户界面组件和事件处理机制。但是, SWT 中的资源释放问题是一件棘手的事情。如果不正确地释放资源,可能...

    使Excel嵌入到SWT窗口中

    使Excel嵌入到SWT窗口中 知识点一:Eclipse版本和jdk版本的选择 ...同时,我们也讨论了Eclipse版本和jdk版本的选择、SWT的使用、OLE技术的使用、OleFrame和OleClientSite的使用、OLE对象的Id和OLE对象的动作等知识点。

    org.eclipse.swt.win32

    org.eclipse.swt.SWT.class org.eclipse.swt.SWTError.class org.eclipse.swt.SWTException.class org.eclipse.swt.accessibility.ACC.class org.eclipse.swt.accessibility.Accessible.class org.eclipse.swt....

    一个SWT日期时间选择控件类

    SWT(Standard Widget Toolkit)是Eclipse项目提供的一种用于创建Java GUI应用程序的开源库,它提供了丰富的用户界面组件。...对于那些从事Java GUI开发,特别是使用SWT框架的开发者来说,这是一个非常有价值的资源。

    swt调用ocx应用实例(wps和windows本机播放器)

    这些代码通常会使用SWT的`Composite`类来创建一个容器,然后通过`SWT.OLE`和`SWT.OLE_CLIENTSite`风格来初始化,接着利用` OleControlSite `和` OleClientSite `来管理OCX控件。开发者会注册OCX控件,并调用其方法来...

    第6章 SWT概述

    6. **org.eclipse.swt.ole.win32**: 为Windows平台提供了OLE(Object Linking and Embedding)支持,允许在SWT程序中嵌入其他应用程序,如IE浏览器或Office组件。 除了上述核心包,SWT还提供了其他的辅助包,如org....

    eclipse3.1的web插件

    Eclipse 3.1 Web 插件是针对Java开发者的一款强大工具,用于开发Web应用程序。在Eclipse 3.1版本中,Web插件引入了一系列功能,极大地提升了开发者在集成开发环境(IDE)中创建、调试和部署Web项目的能力。...

    jacob调用ocx控件灾难性故障

    import org.eclipse.swt.ole.win32.OleAutomation; import org.eclipse.swt.ole.win32.OleClientSite; import org.eclipse.swt.ole.win32.OleFrame; import org.eclipse.swt.ole.win32.Variant; import org.eclipse....

    swt学习笔记摘录(入门程序)

    - **org.eclipse.swt.ole.win32**: 仅在Windows平台上,提供了与OLE组件交互的能力,如嵌入IE浏览器或Microsoft Office应用程序。 总之,SWT和JFace为Java开发者提供了构建高效图形界面的工具,Eclipse作为强大的...

    swing 嵌入word

    本文将深入探讨如何使用Swing来嵌入Word文档,以及如何利用SWT进行OLE(对象链接和嵌入)操作。 首先,我们需要理解什么是OLE。OLE是Microsoft开发的一种技术,允许一个应用程序嵌入或链接到另一个应用程序的数据。...

    SWTAPI包和详细说明

    `org.eclipse.swt.ole.win32` 适用于Windows平台的OLE(Object Linking and Embedding)功能,`org.eclipse.swt.browser` 提供了内置浏览器支持,而 `org.eclipse.swt.awt` 与 Java AWT(Abstract Window Toolkit)...

    org.eclipse.swt.examples.ole.win32..jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...

    调用codesoft案例

    - **Eclipse SWT/JFace**:用于支持跨平台的 GUI 应用程序开发,本案例中使用了其提供的 OLE 自动化接口来操作 Codesoft。 #### 三、核心代码解析 代码的核心部分在于使用 Java 的 SWT 库来创建一个 ActiveX 控件,...

    Eclipse_Swt_Jface_核心应用_部分19

    1.4 Eclipse贡献SWT工具包 5 1.4.1 SWT的结构 6 1.4.2 SWT所支持的操作系统 6 1.5 Sun AWT/Swing与Eclipse SWT 7 1.5.1 Swing与SWT的比较 7 1.5.2 SWT的优势和不足 8 1.6 SWT与JFace、Eclipse 9 1.6.1...

    eclipse开发技术详解第4章

    6. `org.eclipse.swt.ole`:支持OLE(Object Linking and Embedding)功能,如在应用程序中嵌入其他应用程序的对象。 【第一个SWT程序】 创建一个SWT程序通常需要以下步骤: 1. 创建Eclipse插件项目,因为SWT是...

Global site tag (gtag.js) - Google Analytics