messageviewpart.java

来自「mywork是rcp开发的很好的例子」· Java 代码 · 共 51 行

JAVA
51
字号
package net.sf.pim.mail.reader;

import javax.mail.Message;

import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.part.ViewPart;
/**
 * @author levin
 */
public class MessageViewPart extends ViewPart {
	public MessageViewPart() {
		super();
		setPartName("邮件");
	}

	public static final String ID = "MyWork_mail.detailview";
	private MessageReader messageReader;
	public void createPartControl(Composite parent) {
		messageReader=new MessageReader(parent,SWT.NULL);
		// 注册选择邮件的监听器
		this.getSite().getPage().addSelectionListener(FolderViewer.ID,
				new ISelectionListener() {
					public void selectionChanged(IWorkbenchPart part,
							ISelection selection) {
						final StructuredSelection ss = (StructuredSelection) selection;
						Display.getDefault().asyncExec(new Runnable() {
							public void run() {
								try {
									//防止重复选择事件
									if(!ss.isEmpty() && ! ss.getFirstElement().equals(messageReader.getMessageShow()))
										messageReader.showMessage((Message) ss.getFirstElement());
								} catch (Exception e) {
									e.printStackTrace();
								}
							}
						});
					}
				});
	}

	@Override
	public void setFocus() {
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?