当前位置:编程学习 > JAVA >>

ActiveX Support In SWT 的问题 已附上代码

import java.io.File;

import org.eclipse.swt.SWT; 
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.layout.FillLayout; 
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.ole.win32.OLE; 
import org.eclipse.swt.ole.win32.OleClientSite; 
import org.eclipse.swt.ole.win32.OleFrame; 
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display; 
import org.eclipse.swt.widgets.Menu; 
import org.eclipse.swt.widgets.Shell; 
public class ExcelDemo{ 
public void open() { 
  Display display=Display.getDefault(); 
  Shell shell=new Shell(); 
  //shell.setSize(600,800); 
  shell.setText("Window"); 
  //shell.setLayout(new FillLayout()); 
  //显示Excel的菜单栏 
 // shell.setMenuBar(new Menu(shell,SWT.BAR));
 
  createExcelPart(shell); 
  shell.open(); 
  while(!shell.isDisposed()){ 
  if(!display.readAndDispatch()) 
  display.sleep(); 
  } 
  display.close(); 
  } 
private void createExcelPart(Shell shell){
//OleFrame实际上是一个Composite,用于放置OLE控件 
OleFrame oleFrame = new OleFrame(shell,SWT.NONE); 
oleFrame.setBounds(0, 0, 100, 100);
//OleClientSite提供一个场所用于把OLE对象嵌入到容器中,在这里“Excel.Sheet”表示的OLE对象是Excel 
OleClientSite clientSite=new OleClientSite(oleFrame,SWT.NONE,new File("hello.ppt")); 
//OleClientSite在显示OLE对象时所做的动作,这里的动作是OLEIVERB_SHOW,表示显示 
//clientSite.setBounds(0, 0, 200, 100);
clientSite.doVerb(OLE.OLEIVERB_SHOW ); 

public static void main(String[] args){ 
ExcelDemo de = new ExcelDemo();
de.open(); 

}

为什么运行后那个ppt文档老不在窗口里边 求解决方法 swt  ppt  activeX
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,