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

淡忘邻人

二十七,始发愤

 
 
 

日志

 
 
 
 

SWT小技巧  

2010-10-25 21:07:22|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
SWT小技巧

   1. Composite背景渐变:
      Java代码
          composite_main.addPaintListener(new PaintListener(){ 
                      @Override 
                      public void paintControl(PaintEvent arg0) { 
                          Rectangle rectangle = composite_main.getClientArea(); 
                          image = image == null ? new Image(display,1,Math.max(1, rectangle.height)): image; 
                          GC gc_main = new GC(image); 
                          gc_main.setBackground(SWTResourceManager.getColor(199, 215, 238)); 
                          gc_main.setForeground(SWTResourceManager.getColor(213, 231, 245)); 
                          gc_main.fillGradientRectangle(composite_main.getClientArea().x, composite_main.getClientArea().y, composite_main.getClientArea().width,composite_main.getClientArea().height,true); 
                         gc_main.dispose(); 
                         composite_main.setBackgroundImage(image);// 
                     } 
                 }); 

      composite_main.addPaintListener(new PaintListener(){
                  @Override
                  public void paintControl(PaintEvent arg0) {
                      Rectangle rectangle = composite_main.getClientArea();
                      image = image == null ? new Image(display,1,Math.max(1, rectangle.height)): image;
                      GC gc_main = new GC(image);
                      gc_main.setBackground(SWTResourceManager.getColor(199, 215, 238));
                      gc_main.setForeground(SWTResourceManager.getColor(213, 231, 245));
                      gc_main.fillGradientRectangle(composite_main.getClientArea().x, composite_main.getClientArea().y, composite_main.getClientArea().width,composite_main.getClientArea().height,true);
                      gc_main.dispose();
                      composite_main.setBackgroundImage(image);//
                  }
              });

      
   2. Composite上控件背景颜色透明:
      Java代码
         composite_main.setBackgroundMode(SWT.INHERIT_FORCE); 

      composite_main.setBackgroundMode(SWT.INHERIT_FORCE);

      
   3. Composite画圆角矩形:
      Java代码
         container.addPaintListener(new PaintListener(){ 
                      @Override 
                      public void paintControl(PaintEvent arg0) { 
                           
                          GC gc_container_1 = new GC(container); 
                          Color color_1 = new Color(Display.getDefault(),141,177,227); 
                          gc_container_1.setForeground(color_1); 
                          gc_container_1.setLineWidth(1); 
                          gc_container_1.drawRoundRectangle(2,2,x-20,isButtonBar == true?y-89:y-75,7,7); 
                         gc_container_1.dispose(); 
         } 
         }); 

      container.addPaintListener(new PaintListener(){
                  @Override
                  public void paintControl(PaintEvent arg0) {
                     
                      GC gc_container_1 = new GC(container);
                      Color color_1 = new Color(Display.getDefault(),141,177,227);
                      gc_container_1.setForeground(color_1);
                      gc_container_1.setLineWidth(1);
                      gc_container_1.drawRoundRectangle(2,2,x-20,isButtonBar == true?y-89:y-75,7,7);
                      gc_container_1.dispose();
      }
      });

      
   4. CLable背景颜色渐变:

Java代码

    label.setBackground(new Color[]{SWTResourceManager.getColor(207, 225, 245),SWTResourceManager.getColor(202, 225, 245)},new int[] {100}, true); 

label.setBackground(new Color[]{SWTResourceManager.getColor(207, 225, 245),SWTResourceManager.getColor(202, 225, 245)},new int[] {100}, true);

5.   Composite背景渐变(随窗口大小而变)
Java代码

    infoComposite.addPaintListener(new PaintListener() { 
                private Image image_info_bg; 
               @Override 
                public void paintControl(PaintEvent arg0) { 
                  Point point = infoComposite.getSize(); 
                    if(image_info_bg == null || image_info_bg.getBounds().height != point.y){ 
                        if(image_info_bg!=null&&!image_info_bg.isDisposed()) 
                            image_info_bg.dispose(); 
                        image_info_bg = new Image(infoComposite.getDisplay(),1,point.y); 
                   } 
                   GC gc_main = new GC(image_info_bg); 
                   gc_main.setForeground(SWTResourceManager.getColor(120, 157, 210)); 
                   gc_main.setBackground(SWTResourceManager.getColor(66, 108, 180)); 
                   gc_main.fillGradientRectangle(infoComposite.getClientArea().x, infoComposite.getClientArea().y, infoComposite.getClientArea().width,infoComposite.getClientArea().height,true); 
                   gc_main.dispose(); 
                   infoComposite.setBackgroundImage(image_info_bg); 
               } 
            
           });
  评论这张
 
阅读(905)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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