码迷,mamicode.com
首页 > 系统相关 > 详细

Eclipse 插件开发 SWT之Widget

时间:2015-12-03 15:34:36      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

  Widget就是窗口小部件, 是组成用户界面的元素, 包含Menu、Item、Control等, Control是最常用的。

   常用widget的结构关系如下:

                技术分享

  1. Shell ( Widget->Control->Scrollable->Compsite->Decorations->Shell )

     Shell是一个"Window", 就是当用户触发事件时弹出的窗口,是在每个窗口里最外层的"Composite",是组成图形界面的祖先Composite.

     顶层的Shell 的定义是作为display的child定义的。

     Shell shell  =  new  Shell(display);

     这里的display可能是parent.getDisplay( ),在单线程里可以先不用考虑display.display由UI线程创建。

2. Composite ( Widget->Control->Scrollable->Compsite )

     composite作为复合控件,即在composite里可以添加其他控件(包括composite), 相当于一个盒子,里面可以放一些东西。

     定义方式: Composite  composite  =  new  Composite ( parent,  style );

        parent代表的是父复合控件, Style 是用到SWT类里的静态整型变量,如SWT. BORDER , 使用符号 ‘|’ 间隔SWT常量可以让一个控件应用多个样式

    复合控件(除了子元素是*Item的控件)若想添加别的控件,必须先布局,否则里面的控件无法显示

     若想在最外层的composite添加滚动条,需要定义ScrolledComposite:

       parentComposite.setLayout(new FillLayout());                  //scrolledComposite 的父复合布局必须设为fillLayout
       ScrolledComposite scrolledComposite = new ScrolledComposite(parentComposite,  SWT.H_SCROLL|SWT.V_SCROLL);
       Composite mainComposite = new Composite(scrolledComposite,SWT.NONE);          //不要直接在scrolledComposite 添加控件
       scrolledComposite.setContent(mainComposite);                                  //必须有,scrolledComposite里的内容为mainComposite

        .....
       scrolledComposite.setExpandHorizontal(true);
       scrolledComposite.setExpandVertical(true);
       scrolledComposite.setMinWidth(800);
       scrolledComposite.setMinHeight(400);
    必须设置这4个方法滚动条才有作用  只有前两项为true,后两项才有作用

3. Button ( Widget->Control->Button )

     Button button = new Button ( parent, style );

     button类型如下:

             技术分享
           如上图所示,SWT.PUSH是普通按钮;SWT.CHECK是选择按钮;SWT.RADIO是单选按钮,同一组单选按钮必须在同一个父复合控件里,不同组得单选按钮必须在不同的父复合控件里;SWT.ARROW是带箭头的按钮,默认是向上的按
        钮, 若想实现不同方法的箭头的按钮,只需要在style里定义对应的方向即可,如向左方向的按钮,style为SWT.ARROW | SWT.LAFT。这四种样式在同一个button的style里只能出现其中一个。
        常用的方法:button.setText("string");
4. Combo
      Combo combo = new Combo ( parent, style );
      有三种样式:SWT.DROP_DOWN、SWT.SIMPLE、SWT.READ_ONLY    默认的类型是SWT.DROP_DOWN
       SWT.DROP_DOWN为下拉式列表
             String string[] = { "aaa", "bbb", "ccc"};
             Combo combo = new Combo ( parent, SWT.DROP_DOWN );
             combo.setItem (string);             //把string数组放入到combo中
             combo.add ("ddd");                //添加一项字符串到combo
             combo.select(1);                    //默认选择一项
             combo.setTextLimit(3);             //设置下拉列表显示的长度
      SWT.SIMPLE是普通样式的,把所有的元素都显示出来
      技术分享
      SWT.DROP_DOWN和SWT.SIMPLE在同一个combo中只准出现一个。
      SWT.READ_ONLY是只读样式,文本框不能编辑,一般是与上面两种样式之一同时出现

Eclipse 插件开发 SWT之Widget

标签:

原文地址:http://www.cnblogs.com/flying123/p/5016374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!