JAVA下OLE对象使用
来源:互联网 发布:javascript脚本教程 编辑:程序博客网 时间:2024/05/16 14:00
在一个视图中包含一个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.2");
创建对象后,还需要激活,才能够在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.blogjava.net");
automation.invoke(104, new Variant[]{url});
代码示例:
OleFrame frame = new OleFrame(parent, SWT.NONE);
在这个构造函数中,第一个参数指的是该OleFrame的母窗口部件,即Active X控件将要被嵌入的窗口部件。
在OleFrame的基础上就可以创建OleClientSite对象,创建该对象需要知道控件的programID.
OleClientSite client = new OleClientSite(frame,SWT.NONE,"Shell.Explorer.2");
创建对象后,还需要激活,才能够在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.blogjava.net");
automation.invoke(104, new Variant[]{url});
代码示例:
- OleFrame frame = new OleFrame(parent, SWT.NONE);
- OleClientSite client = new OleClientSite(((OleView)vw).frame,SWT.NONE,"Shell.Explorer.2");
- client.doVerb(OLE.OLEIVERB_SHOW);
- OleAutomation oa = new OleAutomation(client);
- Variant str = new Variant("http://www.blogjava.net/");
- oa.invoke(104, new Variant[]{str});
- JAVA下OLE对象使用
- 有关OLE对象的使用(1)
- 使用OLE对象访问Oracle数据库
- 使用OleDbConnection对象连接OLE DB数据源
- OLE 对象
- 在java中使用Jawin组件访问Windows下的COM组件 java调用ole
- 使用Win32::OLE操作Excel——Excel对象模型
- Ado访问Ole对象
- AB平台下使用OLE嵌入两种方法
- OLE的使用
- Access存储图片(OLE对象)
- 直接创建OLE对象,未注册的ocx也可以使用(适用于com接口)
- 使用OLE对象遇到莫名其妙的情况时,有可能是没调用初始化函数导致的。
- 使用 OLE 操作 Excel ,在多线程下使用报错问题解决
- PB下的OLE DB
- How to Insert OLE Object (Adobe Acrobat Document) in Word with C#(如何使用C#在Word中插入OLE对象-PDF文件)
- powerbuilder8 ole控件无法使用!
- 使用COM、OLE的注意事项
- vba的感觉
- 解开 Windows 下的临界区中的代码死锁
- CSS hack:区分IE6,IE7,FireFox
- nhibernate详解二
- MVC模式
- JAVA下OLE对象使用
- JNDI在J2EE中的角色
- 奇怪的js錯誤
- java输出excel文件加密码保护问题
- 背单词的具体方法
- SIM卡文件表
- 背单词的方法
- Java处理时间格式化
- udev文件系统的使用和基本工作原理分析