精华内容
参与话题
问答
  • SWT Java 浏览器

    2012-06-07 20:19:18
    一个功能最完善的多标签浏览器...经过本人不断修改,几乎是网上所有JAVA浏览器最好的。绝对不会让你失望。 有问题请联系:waiting.hao@gmail.com或代码中的邮箱。 界面图片:http://t.cn/zOFc5Fj 需要自己下载SWT哦。
  • swt java 内嵌activeX控件

    2018-01-06 21:00:15
    这里用的是SWT/JFace开发application中SWT自带的org.eclipse.swt.ole.win32 包可以支持内嵌OLE和ActiveX。 具体用法如下: //创建一个OleFrame做为OLE(或ActiveX)的框架 OleFrame oleFrame = new OleFrame...

    这里用的是SWT/JFace开发application中SWT自带的org.eclipse.swt.ole.win32 包可以支持内嵌OLE和ActiveX。
    具体用法如下:

    //创建一个OleFrame做为OLE(或ActiveX)的框架
    OleFrame oleFrame = new OleFrame(this, SWT.NONE);
    //创建ActiveX的容器,其中的classID是ActiveX的classid,在注册表中可以找到
    OleControlSite oleControl = new OleControlSite(oleFrame, SWT.NONE, “classID”);
    //OleAutomation类用来执行ActiveX中的方法
    OleAutomation oleAutomation = new OleAutomation(oleControl);
    //将ActiveX显示在application中
    oleControl.doVerb(OLE.OLEIVERB_SHOW);

    调用AcitveX中方法的具体过程:
    1、不带参数的方法调用
    //获取Method Name的ID,Method Name为ActiveX中具体的方法名
    int[] regspid = oleAutomation.getIDsOfNames(new String[] { "MethodName" });
    int dispIdMember = regspid[0];
    //方法调用
    oleAutomation.invoke(dispIdMember);

    2、带参数的方法调用
    //获取Method Name的ID,Method Name为ActiveX中具体的方法名
    int[] regspid = oleAutomation.getIDsOfNames(new String[] { "MethodName" });
    int dispIdMember = regspid[0];
    //设置方法的具体参数。Variant数组的长度为MethodName方法参数的个数
    //假设有四个参数
    Variant[] rgvarg = new Variant[4];
    rgvarg[0] = new Variant(fileID);
    rgvarg[1] = new Variant(itdsURL);
    rgvarg[2] = new Variant(idType);
    rgvarg[3] = new Variant(reportURL);
    //方法调用
    oleAutomation.invoke(dispIdMember, rgvarg);

    调用OLE Exemple:Java程序内嵌Word应用程序

    package test.swt;

    import java.io.File;

    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Point;
    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.Button;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.Composite;
    public class ActiveXTest
    {

    private Shell sShell = null;
    private Button button = null;
    private OleClientSite clientSite;
    public static void main(String[] args)
    {

    Display display =Display.getDefault();
    ActiveXTest thisClass = new ActiveXTest();
    thisClass.createSShell();
    thisClass.sShell.open();

    while (!thisClass.sShell.isDisposed())
    {
        if (!display.readAndDispatch())
        display.sleep();
    }
        display.dispose();

    }

    /**
    * This method initializes sShell
    */
    private void createSShell()
    {
    GridData gridData = new GridData();
    gridData.horizontalSpan = 2;
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 3;
    sShell = new Shell();
    sShell.setText("Shell");
    sShell.setLayout(gridLayout);
    sShell.setSize(new Point(800, 600));
    OleFrame frame = new OleFrame(sShell, SWT.NONE);
    button = new Button(sShell, SWT.NONE);
    button.setLayoutData(gridData);
    button.setText("Save");
    button.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
    public void widgetSelected(org.eclipse.swt.events.SelectionEvent e)
    {
    clientSite.save(new File("d:/test.docx"),true);
    }
    });
    frame.setSize(800,600);
    clientSite = new OleClientSite(frame, SWT.NONE,"Word.Document.8");
    clientSite.setSize(400,400);
    clientSite.doVerb(OLE.OLEIVERB_SHOW);
    }

    }

    SWT调用ActiveX简单总结

    public class SWT_ActivexUtil {
    private OleFrame _frame;
    private OleControlSite _site;
    private OleAutomation _auto;

    SWT_ActivexUtil(String activexId, OleControlSite site){
    if(site == null){
    Shell shell = new Shell();
    _frame = new OleFrame(shell, SWT.NONE);
    _site = new OleControlSite(_frame, SWT.NONE, activexId);
    _auto = new OleAutomation(_site);
    }else{
    _site = site;
    _auto = new OleAutomation(site);;
    }
    }

    public int getID(String name){
    try {
    int[] ids = _auto.getIDsOfNames(new String[]{name});
    if(ids.length>=0)
    return ids[0];
    } catch (RuntimeException e) {
    e.printStackTrace();
    }
    return -1;
    }

    public Variant[] createVariants(String[] paras){
    Variant[] vr = new Variant[paras.length];
    for(int i=0;i<paras.length;i++){
    vr[i] = new Variant(paras[i]);
    }
    return vr;
    }

    public Variant getProperty(String prop){
    int propId = getID(prop);
    Variant v = null;
    try {
    v = _auto.getProperty(propId);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return v;
    }

    public void setProperty(String name, String... params){
    int propId = getID(name);
    if(propId < 0)
    return;
    if(params.length==1)
    _auto.setProperty(propId, new Variant(params[0]));
    else{
    Variant[] vs = new Variant[params.length];
    int i=0;
    for(String param:params){
    vs[i] = new Variant(param);
    i++;
    }
    _auto.setProperty(propId, vs);
    }
    }

    public void setProperty(String name, Variant... params){
    int propId = getID(name);
    if(propId < 0)
    return;
    _auto.setProperty(propId, params);
    }

    public Variant execute(String methodName, Variant... params){
    int mid = getID(methodName);
    if(mid<0)
    return null;
    Variant rtnv;
    if(params == null)
    rtnv = _auto.invoke(mid);
    else
    rtnv = _auto.invoke(mid, params);
    return rtnv;
    }

    public Variant execute(String methodName){
    int mid = getID(methodName);
    if(mid<0)
    return null;

    Variant rtnv = _auto.invoke(mid);
    return rtnv;
    }

    public void addEventListener(int eventID, OleListener listener){
    _site.addEventListener(eventID, listener);
    }

    public void removeEventListener(int eventID, OleListener listener){
    _site.removeEventListener(eventID, listener);
    }
    }



    展开全文
  • swt java 内嵌ActiveX控件

    2018-01-06 08:01:02
    这里用的是SWT/JFace开发application中SWT自带的org.eclipse.swt.ole.win32 包可以支持内嵌OLE和ActiveX。具体用法如下: //创建一个OleFrame做为OLE(或ActiveX)的框架 OleFrame oleFrame = new OleFrame(this, ...
        

    这里用的是SWT/JFace开发application中SWT自带的org.eclipse.swt.ole.win32 包可以支持内嵌OLE和ActiveX。
    具体用法如下:

    //创建一个OleFrame做为OLE(或ActiveX)的框架
    OleFrame oleFrame = new OleFrame(this, SWT.NONE);
    //创建ActiveX的容器,其中的classID是ActiveX的classid,在注册表中可以找到
    OleControlSite oleControl = new OleControlSite(oleFrame, SWT.NONE, “classID”);
    //OleAutomation类用来执行ActiveX中的方法
    OleAutomation oleAutomation = new OleAutomation(oleControl);
    //将ActiveX显示在application中
    oleControl.doVerb(OLE.OLEIVERB_SHOW);

    调用AcitveX中方法的具体过程:
    1、不带参数的方法调用

    //获取Method Name的ID,Method Name为ActiveX中具体的方法名
    int[] regspid = oleAutomation.getIDsOfNames(new String[] { "Method Name" });
    int dispIdMember = regspid[0];
    //方法调用
    oleAutomation.invoke(dispIdMember);

    2、带参数的方法调用

    //获取Method Name的ID,Method Name为ActiveX中具体的方法名
    int[] regspid = oleAutomation.getIDsOfNames(new String[] { "Method Name" });
    int dispIdMember = regspid[0];
    //设置方法的具体参数。Variant数组的长度为Method Name方法参数的个数
    //假设有四个参数
    Variant[] rgvarg = new Variant[4];
    rgvarg[0] = new Variant(fileID);
    rgvarg[1] = new Variant(itdsURL);
    rgvarg[2] = new Variant(idType);
    rgvarg[3] = new Variant(reportURL);
    //方法调用
    oleAutomation.invoke(dispIdMember, rgvarg);

    调用OLE Exemple:Java程序内嵌Word应用程序

    package test.swt;
    import java.io.File;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Point;
    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.Button;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.Composite;
    public class ActiveXTest
    {
    private Shell sShell = null;
    private Button button = null;
    private OleClientSite clientSite;
    public static void main(String[] args)
    {
    Display display = Display.getDefault();
    ActiveXTest thisClass = new ActiveXTest();
    thisClass.createSShell();
    thisClass.sShell.open();
    while (!thisClass.sShell.isDisposed())
    {
        if (!display.readAndDispatch())
        display.sleep();
    }
        display.dispose();
    }
    /**
    * This method initializes sShell
    */
    private void createSShell()
    {
    GridData gridData = new GridData();
    gridData.horizontalSpan = 2;
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 3;
    sShell = new Shell();
    sShell.setText("Shell");
    sShell.setLayout(gridLayout);
    sShell.setSize(new Point(800, 600));
    OleFrame frame = new OleFrame(sShell, SWT.NONE);
    button = new Button(sShell, SWT.NONE);
    button.setLayoutData(gridData);
    button.setText("Save");
    button.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
    public void widgetSelected(org.eclipse.swt.events.SelectionEvent e)
    {
    clientSite.save(new File("d:/test.docx"),true);
    }
    });
    frame.setSize(800,600);
    clientSite = new OleClientSite(frame, SWT.NONE,"Word.Document.8");
    clientSite.setSize(400,400);
    clientSite.doVerb(OLE.OLEIVERB_SHOW);
    }
    }

    SWT调用ActiveX简单总结

    public class SWT_ActivexUtil {
    private OleFrame _frame;
    private OleControlSite _site;
    private OleAutomation _auto;
    
    SWT_ActivexUtil(String activexId, OleControlSite site){
    if(site == null){
    Shell shell = new Shell();
    _frame = new OleFrame(shell, SWT.NONE);
    _site = new OleControlSite(_frame, SWT.NONE, activexId);
    _auto = new OleAutomation(_site);
    }else{
    _site = site;
    _auto = new OleAutomation(site);; 
    }
    }
    public int getID(String name){
    try {
    int[] ids = _auto.getIDsOfNames(new String[]{name});
    if(ids.length>=0)
    return ids[0];
    } catch (RuntimeException e) { 
    e.printStackTrace(); 
    }
    return -1;
    }
    public Variant[] createVariants(String[] paras){
    Variant[] vr = new Variant[paras.length];
    for(int i=0;i<paras.length;i++){
    vr[i] = new Variant(paras[i]);
    }
    return vr;
    }
    public Variant getProperty(String prop){
    int propId = getID(prop);
    Variant v = null;
    try {
    v = _auto.getProperty(propId);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return v; 
    }
    public void setProperty(String name, String... params){
    int propId = getID(name);
    if(propId < 0)
    return;
    if(params.length==1)
    _auto.setProperty(propId, new Variant(params[0]));
    else{
    Variant[] vs = new Variant[params.length];
    int i=0;
    for(String param:params){
    vs[i] = new Variant(param);
    i++; 
    }
    _auto.setProperty(propId, vs);
    }
    }
    public void setProperty(String name, Variant... params){
    int propId = getID(name);
    if(propId < 0)
    return;
    _auto.setProperty(propId, params);
    }
    
    public Variant execute(String methodName, Variant... params){
    int mid = getID(methodName);
    if(mid<0)
    return null;
    Variant rtnv;
    if(params == null)
    rtnv = _auto.invoke(mid);
    else
    rtnv = _auto.invoke(mid, params);
    return rtnv;
    }
    
    public Variant execute(String methodName){
    int mid = getID(methodName);
    if(mid<0)
    return null;
    
    Variant rtnv = _auto.invoke(mid);
    return rtnv;
    }
    public void addEventListener(int eventID, OleListener listener){
    _site.addEventListener(eventID, listener);
    }
    
    public void removeEventListener(int eventID, OleListener listener){
    _site.removeEventListener(eventID, listener);
    }
    }
    

    图片描述

    展开全文
  • 配置SWT Java开发环境

    2015-10-30 15:59:36
    1.在eclipse的plugins目录下,找到org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar,3.2.1是版本号 2.解压该jar文件,将其目录下 swt-win32-3235.dll, swt-awt-win32-3235.dll, swt-gdip-win32-3235.dll ...
    1.在eclipse的plugins目录下,找到org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar,3.2.1是版本号
    2.解压该jar文件,将其目录下
    swt-win32-3235.dll,
    swt-awt-win32-3235.dll,
    swt-gdip-win32-3235.dll
    swt-wgl-win32-3235.dll放到jdk  jar的bin目录下,在环境变量path加入该四个文件的存放目录jar\bin
    3.新建java项目,右单击项目名→构建路径→配置构建路径→库(L)→添加外部JAR→在eclipse的plugins文件夹中找到该jar文件→打开→确定。
    4.实例介绍
    package cn.jhong;


    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Color;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.Text;


    /*分析本例的源代码,可以看到,创建一个典型的SWT应用程序需要以下步骤:
    ①创建一个Display
    ②创建一个或多个Shell
    ③设置Shell的布局
    ④创建Shell中的组件
    ⑤用open()方法打开Shell窗体
    ⑥写一个事件转发循环
    ⑦销毁display*/
    public class Test {

    public static void main(String[] args) {

    Display display = new Display();//创建主体display对象

    Shell shell = new Shell(display);//shell是程序的主体窗体

    shell.setLayout(null);//设置shell的布局方式

    Text hello = new Text(shell,SWT.MULTI);//声明一个可以显示多行信息的文本框

    shell.setText("Java应用程序");//设置主体窗体标题

    shell.setSize(500, 300);//设置窗体的大小

    Color color = new Color(Display.getCurrent(), 255, 255, 255);//声明颜色对象

    shell.setBackground(color);//设置窗体的背景颜色

    hello.setText("htllo");//设置文本框信息

    hello.pack();//自动调整文本框的大小

    //shell.pack();

    shell.open();//打开主题窗

    while (!shell.isDisposed()) {//如果主题窗没有关闭则一直循环
    if(!display.readAndDispatch()){//如果display不忙
    display.sleep();//休眠
    }

    }

    display.dispose();//销毁display
    }
    }
    展开全文
  • 1、找到 swt-win32-3236.dll,然后拷贝到C:/WINDOWS/SYSTEM32文件夹中。 此方法可能适用于swt-win32-3232--可能是早期的版本,在Swt Designer V6.2.0的解压缩文件中压根找不到。 2、 将swt-win32-3236.dll所在...

    1、找到 swt-win32-3236.dll,然后拷贝到C:/WINDOWS/SYSTEM32文件夹中。
         此方法可能适用于swt-win32-3232--可能是早期的版本,在Swt Designer V6.2.0的解压缩文件中压根找不到。
       2、 将swt-win32-3236.dll所在文件夹的完整路径,添加到VM变量中。
         具体步骤:选择你的运行方式,自变量选项卡中VM变量,添加-D java.library.path = H://lhz//eclipse//eclipse//plugins//com.swtdesigner_6.2.0//os//win32//x86(呵呵,没有找到swt-win32-3236.dll所在目录,只能用swtdesigner.dll的所在文件夹试验一下了)。这时运行应用程序,没有报以前的错误,现在报java.lang.NoClassDefFoundError: java/library/path
    Exception in thread "main" ,越发郁闷。
       随后又用了各种方法,无功而返。
       
       最最后,用SWT应用程序的运行方式试验了一下,咿,一下就中了,这是什么道理?又在网上搜索一下,没有找到原因,难道是swtdesigner就只能这样运行吗,没道理啊,唉,实在是能力有限,不想在这个问题上再纠缠下去,如有哪位高手兄路过,请指点一二,不胜感激。


              哈哈哈,找到解决方法了,原来swt-win32-3236.dll在eclipse/configuration/org.eclipse.osgi/bundles/81/1/.cp文件夹下!!!这样就很简单了,将此dll导入项目中就行。
              步骤:右键单击项目名称-〉导入 -〉常规 文件系统 -〉浏览(定位到文件夹)-〉选择文件-〉完成
              搞定,呵呵!     

    展开全文
  • Java SWT

    2017-07-22 14:15:25
    SWT Web http://www.eclipse.org/swt/ http://www.eclipse.org/swt/snippets/ SWT: Managing Operating System Resources http://www.eclipse.org/articles/swt-design-2/swt-design-2.html (Dispose) http
  • java swt

    2011-06-28 23:12:34
     1、在做SWT应用程序时,一定要注意的就是,当有多个线程要创建SWT界面时,最好只要一个display对象,这样的好 处是,你想使用哪个线程创建的SWT界面,都不会受到其他线程的影响。 2、当要销毁一个组件之前(直接...
  • java swt 浏览器

    热门讨论 2009-05-10 15:01:57
    自己写的java浏览器的源代码 使用的是swt做得界面 实现了浏览器的基本功能 重点是新窗口打开的处理 鉴于有人说我是骗子,特此申明 下载里面只有源代码和引用的SWT包, classpath包括进去的,可以直接用Eclipse导入 ...
  • java SWT 计算器

    2012-04-20 17:10:57
    java做的计算器 要导入相关的jar才能运行
  • java SWT官网例子

    热门讨论 2012-04-16 09:22:46
    java的一套GUI库,eclipse就是用这个写的。 用来做一些界面还是很不错的。 这套例子是swt官网上的小型例子,每个文件介绍一个简单的功能。 官方网址 http://www.eclipse.org/swt/snippets/ 需要的界面效果可以再官方...
  • SWTChart是一款基于SWTJava图表类库,也正因为是基于SWT的缘故,SWTChart应用起来非常方便,而且也相当轻巧。 SWTChart支持多种图表类型,包括:线图 、散点图 、堆栈图 、对数标度 、分类轴 、多轴 、柱形图 、...
  • JAVA Swt初识

    万次阅读 2012-02-09 11:43:56
    <!-- .article {padding:1em; background:white} .abstract {padding:1em 1ex 1em 2em} .author, .date {padding:0.5ex 0 0 0} h1.title, h2.major, h3.minor, h3.listing {margin:1ex 2px 1ex;...
  • java swt 音乐播放器

    2011-01-18 17:59:59
    利用SWT读取ActiveX编写成的音乐播放器,能够添加歌曲,自动保存清单,设置顺序播放,随机播放,读取MP3文件歌曲名等等功能。是一个比较简单但比较完整的播放器,而且分类比较明确。 加压文件后需要导入到Eclipse中...
  • swtJAVA界面

    千次阅读 2014-11-28 20:27:22
    SWT概述 SWT是IBM公司开发的UI开发组件,它与AWT/SWING组件类似,但是SWT克服了AWT/SWING中许多问题,所以用SWT编写UI程序无论在美观成都还是响应速度上都远远超越了AWT和SWING.这主要是因为AWT只是单纯模拟本地操作...
  • SWT開發Java桌面程序

    千次阅读 2009-08-07 14:47:00
    最近在用SWT 開發一個Java桌面程序,不同以往用AWT/SWING寫的程序。AWT/SWING寫的程序個人覺得界面很難看,總是不喜歡,而且運行速度也不行。所以看到用SWT程序運行的界面時,給了我一個驚喜。真是看不到以前AWT/...
  • SWTjava天气预报

    千次阅读 2009-05-05 16:40:00
    用的是SWT中的org.eclipse.swt.browser.Browser组件 String html="你好...Browser browser = new Browser(shell, SWT.NONE);browser.setText(html); 完整示例代码如下:package test.html;import org.eclipse.swt.SWT
  • SWTJava Web Start

    2005-02-17 18:31:00
    利用 Java Web Start 和 WebSphere Studio 来部署 Java 客户端应用程序Deploy an SWT application using Java Web Start 
  • Java SWT事件

    千次阅读 2015-06-04 21:43:19
    事件产生处的SWT组件称为事件源,(官方) 对事件作出具体动作称为监听器(Listener)。监听器负责监听组件上的事件,并对发生的事件进行处理。基本的模式是将一个监听器添加到已经创建的组件中,当相应的事件发生...
  • java swt browser

    2013-07-18 22:22:05
    package cmsdb.common.tool;...import org.eclipse.swt.SWT; import org.eclipse.swt.browser.Browser; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.s
  • java swt 进度条

    2009-10-15 22:35:55
    import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.ProgressBar; .....

空空如也

1 2 3 4 5 ... 20
收藏数 9,239
精华内容 3,695
关键字:

swt