`
redheart_2006
  • 浏览: 21842 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类

eclipse 状态栏

阅读更多
IStatusLineManager statusline = getViewSite().getActionBars()
		        .getStatusLineManager();

 http://allenyoung.iteye.com/category/5916?show_full=true

http://lggege.iteye.com/category/28438?show_full=true

http://www.java2s.com/CN/Code/Java/SWT-JFace-Eclipse/Transparency.htm

 

http://www.eclipse.org/articles/Article-SWT-images/graphics-resources.html 很好的参考eclipse.org

写道
StatusLineContributionItem statusItem = new StatusLineContributionItem("LULU");
// 获取进度监视器,并在状态栏显示
//statusline.getProgressMonitor();
// 设置状态栏文本
statusItem.setText("kkk");
//将statusItem注册到statusLine
statusline.add(statusItem);

 

WorkbenchWindow workbenchWindow = (WorkbenchWindow)PlatformUI.getWorkbench().getActiveWorkbenchWindow();
        IStatusLineManager lineManager = workbenchWindow.getStatusLineManager();
        lineManager.removeAll();
        lineManager.setMessage("yyy");
        lineManager.add(addAction);
        lineManager.update(true);
        Runnable run =	new Runnable(){
			@Override
			public void run() {
				//Display.getDefault().asyncExec(new Runnable(){
				//	@Override
					//public void run() {
						boolean flag = false;
						for (int i = 0; i < 5; i++) {
								try {
							Thread.sleep(1000);
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
							//addAction.setToolTipText("ttttt"+Math.random()*100);
			        		addAction.setEnabled(flag);
			        		flag = !flag;
						System.out.println("runnable=============================");
						}
					//}});
				
			}};
			Thread tr  = new Thread(run);
			tr.start();

 addAction.setEnabled(flag);
也可以改成其它的,如图片的交互

 

package org.zw.job.busi;

import org.eclipse.jface.resource.CompositeImageDescriptor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Display;

/**
 * <p>Description: SWT中生成带标记的图片(图片叠加的效果) </p>
 * @see org.eclipse.ui.internal.OverlayIcon
 */
public class DisableImageDescriptor extends CompositeImageDescriptor {
   

    private ImageDescriptor fBase = null;
    private Point fSize = null;
 //   private int fPosition = TOP_RIGHT;


    /**
     * @param base 底衬图
     * @param overlay 标记图
     * @param size 生成出来的图的大小
     * @param position 标记图在底衬图的位置. TOP_LEFT TOP_RIGHT BOTTOM_LEFT BOTTOM_RIGHT
     */
    public DisableImageDescriptor(ImageDescriptor base) {
        this.fBase = base;

        if (this.fSize == null) {
            ImageData id = base.getImageData();
            this.fSize = new Point(id.width, id.height);
        }

       // this.fPosition = position;
    }

    /**
     * @see org.eclipse.jface.resource.CompositeImageDescriptor#drawCompositeImage(int, int)
     */
    @Override
    protected void drawCompositeImage(int width, int height) {
        ImageData bg;
        if (fBase == null || (bg = fBase.getImageData()) == null) {
            bg = DEFAULT_IMAGE_DATA;
        }
        Image image = fBase.createImage();
   	    Image grayImage = new Image(Display.getCurrent(),image,SWT.IMAGE_GRAY);
   	    bg = grayImage.getImageData();
        
        drawImage(bg, 0, 0);
    }

    /**
     * @see org.eclipse.jface.resource.CompositeImageDescriptor#getSize()
     */
    @Override
    protected Point getSize() {
        return this.fSize;
    }
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics