RCP 欢迎页面 (winform风格)

RCP 项目中可以设置欢迎页面 如图  

RCP 欢迎页面 (winform风格)_第1张图片


如果想用RCP 做一个风格不是Eclipse 类型的项目  (类似于winfrom 风格) 那么这个欢迎页面就不行了

RCP 欢迎页面 (winform风格)_第2张图片

这个也是 RCP  项目 只是欢迎页面不能关闭  这个并不是修改什么属性 修改属性貌似 做不出这种效果 


这个的实现方法是 

1先创建一个 视图

填写好ID name 和class 后 点击 class*: 的那个蓝色的连接 然后默认创建

RCP 欢迎页面 (winform风格)_第3张图片

2 在创建好的视图中 添加 Composite 并且给其设置图片 和 当Composite 改变时 改变图片的大小

package cn.jbit.xctixt.view;

import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.ui.part.ViewPart;
import org.eclipse.swt.SWT;
import org.eclipse.wb.swt.SWTResourceManager;
import org.eclipse.swt.layout.FillLayout;

import cn.jbit.xctixt.sys.IAppConstants;

import xctixt.CacheImage;
import xctixt.IImageKey;

public class Welcome extends ViewPart {

	public Welcome() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void createPartControl(Composite parent) {
		
		Rectangle screenSize = Display.getDefault().getClientArea();
		parent.setLayout(new FillLayout(SWT.HORIZONTAL));
      // 创建图片
	final Image image =	CacheImage.getINSTANCE().getImage(IAppConstants.APPLICATION_ID, IImageKey.WELCOME_PIC);
	final Composite composite = new Composite(parent, SWT.NONE);
		composite.setBackground(SWTResourceManager.getColor(SWT.COLOR_DARK_YELLOW));
		composite.setBounds(0, 0, screenSize.width, screenSize.height);
		
		composite.setBackgroundImage(image);
	        // 大小改变 图片大小也改变
		composite.addPaintListener(new PaintListener() {
			
			@Override
			public void paintControl(PaintEvent e) {
			  Point size = composite.getSize();
			  Point p = composite.getLocation();
			  e.gc.drawImage(image,  0, 0, 1024, 768, p.x, p.y, size.x, size.y);
			}
		});
		// TODO Auto-generated method stub
    
	}

	@Override
	public void setFocus() {
		// TODO Auto-generated method stub

	}
}


3  第三部最重要  

在Perspective 类里面设置 项目透视图显示的布局  让它默认显示编辑器 并且编辑器 占满整个工作台 这样 就不是Eclipse  风格了而是winform 风格

import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;

import cn.jbit.xctixt.sys.IAppConstants;

public class Perspective implements IPerspectiveFactory {

	public void createInitialLayout(IPageLayout layout) {
		layout.setEditorAreaVisible(false);
		String editorArea = layout.getEditorArea();
		layout.addStandaloneView(IAppConstants.WELCOME, false, IPageLayout.LEFT, 1, editorArea);
	}
}


你可能感兴趣的:(RCP学习)