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

隐龙 为了一生的信念

今日默默沉于水,他日飞腾在九天...

 
 
 

日志

 
 

eclipse swt /jface  

2012-09-19 09:57:29|  分类: 开发工具 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

SWT Designer是优秀的SWT/JFace开发辅助工具, 以下通过写一个Hello World的小程序来简单了解下SWT!

        首先从官方网站下载http://www.swt-designer.com,之后,把对应的文件拷贝到Eclipse目录下,这时,在Eclipse的windows的首选项里面,就可以看到designer了,点击注册,通过注册机完成注册!

        然后新建项目时候,选择designer下面的 SWT/JFace java project , 项目名字右键 new other ... designer... Swt...Application Window 选项 新建一个 第3项 main 主函数的 类, 然后就可以运行这个类了。 生成的代码如下:

package src;

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class HelloWorld {

    
/**
     * Launch the application
     * 
@param args
     
*/

    
public static void main(String[] args) {
        
//display负责管理事件循环和控制UI线程和其他线程之间的通信
        final Display display = Display.getDefault();
        
final Shell shell = new Shell(); //SHELL是程序的主窗口
        shell.setSize(500375);         //主窗口大小
        shell.setText("SWT Application");//主窗口标题
        
//

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

    }

}

从这个代码可以看到,创建一个典型的SWT应用程序需要以下的步骤:

  • 创建一个Display
  • 创建一个或多个Shell
  • 设置SHELL的布局
  • 创建Shell中的组件(以上代码中没有组件,只有一个主窗口,run时候就可以看到一个空的窗口)
  • 用open()方法打开Shell窗口
  • 写一个事件转发循环
  • 销毁Display。

下面,进行窗口中组件的添加, 首先, 把视图切换到designer项,选择SWT Controls分类下的text 组件,放入窗口中,然后对这个组件的属性设置中的 text 设置为 HelloWorld 。 (其他的属性都可以根据自己的情况来设定)  但是 SWT Designer 还无法完成所有的界面设计工作,所以,界面开发中,仍然是以代码设计为主的, 另外 SWT Designer 还不是狠稳定, 界面加入太多的组件, 或频繁的添加删除组件,都有可能造成内存耗尽而死机。

  评论这张
 
阅读(462)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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