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

淡忘邻人

二十七,始发愤

 
 
 

日志

 
 
 
 

SWT小技巧  

2010-12-17 10:10:06|  分类: 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代码
         1. 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代码

   1. 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);  
               }  
             
           });  

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);
            }
        
        });
  评论这张
 
阅读(426)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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