注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

FlyingWind

 
 
 

日志

 
 
 
 

使用Java ActiveX打开flash文件(eclipse平台)  

2009-02-19 19:36:36|  分类: JAVA资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  Java ActiveX的应用(eclipse平台)

运行效果图

Java ActiveX的应用(eclipse平台) - colorfuldiary - ColorfulDiary

源码:下载地址

如有问题请留言

package com.colorfuldiary.eclipse.oleapp;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.File;

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.ole.win32.OLE;
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.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;

public class OleSample {

 private Display display;
 private Shell shell;
 private OleFrame frame;
 private OleClientSite clientSite;
 private OleAutomation oa;
 private Button button;

 public OleSample(){
  super();
 }
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  OleSample oleApp = new OleSample();
  oleApp.open();
  
 }
 
 private void open() {
  // TODO Auto-generated method stub
  display = Display.getDefault();
  shell = new Shell(display, SWT.NORMAL);
  shell.setSize(400, 450);
  shell.setText("ActiveX范例");
  centerShell();
  button = new Button(shell, SWT.NONE);
  button.setBounds(150, 410, 100, 30);
  button.setText("Close");
  //创建OLE控件面板
     frame = new OleFrame(shell, SWT.NONE);
  frame.setSize(400, 400);
  //创建OLE控件
  clientSite = new OleClientSite(frame, SWT.NONE, "ShockwaveFlash.ShockwaveFlash");
  clientSite.doVerb(OLE.OLEIVERB_SHOW);
  oa = new OleAutomation(clientSite);    
  int[] methodIDs = oa.getIDsOfNames(new String[] { "LoadMovie" });
        String file = System.getProperty("user.dir") + "/a.swf";
        Variant [] str ={ new Variant(0), new Variant(file)};
        oa.invoke(methodIDs[0], str);
  
  button.addListener(SWT.MouseDown, new Listener(){

   public void handleEvent(Event e) {
    if(  e.button == 1 ){
     shell.dispose();
    }
    
   }});
  shell.open();
  while(!shell.isDisposed()){
   if(!display.readAndDispatch()){
    display.sleep();
   }
  }
 }

 private void centerShell() {
  // TODO Auto-generated method stub
  Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
  Point p = shell.getSize();
  shell.setLocation((dim.width - p.x) / 2, (dim.height - p.y) / 2);
 }

 

}

  评论这张
 
阅读(1140)| 评论(17)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018