Eclipse 插件开发 SWT之Widget

  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);                         //默认选择一项,选择数组下标为1的值
             combo.setVisibleItemCount(3);           //设置下拉列表显示的长度
                                       
      SWT.SIMPLE是普通样式的,把所有的元素都显示出来
     
      SWT.READ_ONLY是下拉列表的只读样式
                  文本框那里不能编辑
     

转载于:https://www.cnblogs.com/flying123/p/5016374.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值