在一个视图中包含一个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});
分享到:
相关推荐
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操纵Excel入门培训文档,里面整理了很多资源,下载的请使劲戳
1. **导入必要的库**:为了在Java中使用SWT和Ole,需要引入`org.eclipse.swt.*`和`org.eclipse.swt.ole.win32.*`库。JNA库也需要被包含,如果选择使用JNA直接访问COM接口。 2. **创建Ole初始环境**:在Java程序中,...
SWT 资源释放问题详解 SWT(Standard Widget Toolkit)是一种基于 Java 的 GUI 工具包,提供了丰富的图形用户界面组件和事件处理机制。但是, SWT 中的资源释放问题是一件棘手的事情。如果不正确地释放资源,可能...
使Excel嵌入到SWT窗口中 知识点一:Eclipse版本和jdk版本的选择 ...同时,我们也讨论了Eclipse版本和jdk版本的选择、SWT的使用、OLE技术的使用、OleFrame和OleClientSite的使用、OLE对象的Id和OLE对象的动作等知识点。
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(Standard Widget Toolkit)是Eclipse项目提供的一种用于创建Java GUI应用程序的开源库,它提供了丰富的用户界面组件。...对于那些从事Java GUI开发,特别是使用SWT框架的开发者来说,这是一个非常有价值的资源。
这些代码通常会使用SWT的`Composite`类来创建一个容器,然后通过`SWT.OLE`和`SWT.OLE_CLIENTSite`风格来初始化,接着利用` OleControlSite `和` OleClientSite `来管理OCX控件。开发者会注册OCX控件,并调用其方法来...
6. **org.eclipse.swt.ole.win32**: 为Windows平台提供了OLE(Object Linking and Embedding)支持,允许在SWT程序中嵌入其他应用程序,如IE浏览器或Office组件。 除了上述核心包,SWT还提供了其他的辅助包,如org....
Eclipse 3.1 Web 插件是针对Java开发者的一款强大工具,用于开发Web应用程序。在Eclipse 3.1版本中,Web插件引入了一系列功能,极大地提升了开发者在集成开发环境(IDE)中创建、调试和部署Web项目的能力。...
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....
- **org.eclipse.swt.ole.win32**: 仅在Windows平台上,提供了与OLE组件交互的能力,如嵌入IE浏览器或Microsoft Office应用程序。 总之,SWT和JFace为Java开发者提供了构建高效图形界面的工具,Eclipse作为强大的...
本文将深入探讨如何使用Swing来嵌入Word文档,以及如何利用SWT进行OLE(对象链接和嵌入)操作。 首先,我们需要理解什么是OLE。OLE是Microsoft开发的一种技术,允许一个应用程序嵌入或链接到另一个应用程序的数据。...
`org.eclipse.swt.ole.win32` 适用于Windows平台的OLE(Object Linking and Embedding)功能,`org.eclipse.swt.browser` 提供了内置浏览器支持,而 `org.eclipse.swt.awt` 与 Java AWT(Abstract Window Toolkit)...
Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我, Eclipse-plugins eclipse, plugins, eclipse202106, ...
- **Eclipse SWT/JFace**:用于支持跨平台的 GUI 应用程序开发,本案例中使用了其提供的 OLE 自动化接口来操作 Codesoft。 #### 三、核心代码解析 代码的核心部分在于使用 Java 的 SWT 库来创建一个 ActiveX 控件,...
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...
6. `org.eclipse.swt.ole`:支持OLE(Object Linking and Embedding)功能,如在应用程序中嵌入其他应用程序的对象。 【第一个SWT程序】 创建一个SWT程序通常需要以下步骤: 1. 创建Eclipse插件项目,因为SWT是...