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相关