⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailaction.java

📁 eclipse rcp 项目实例
💻 JAVA
字号:
package com.niis.myprice.action;

import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.WorkbenchWindow;

import com.niis.myprice.domain.DataTree;
import com.niis.myprice.net.SendMail;
import com.niis.myprice.util.message.Messages;

public class MailAction extends Action {
	private final IWorkbenchWindow window;

	private int instanceNum = 0;
	
	private static Logger logger = Logger.getLogger(MailAction.class);
	public MailAction(IWorkbenchWindow window, String label) {
		this.window = window;
		setText(label);
		// The id is used to refer to the action in a menu or toolbar
		setId(ICommandIds.CMD_MAIL);
		// Associate the action with a pre-defined command, to allow key
		// bindings.
		setActionDefinitionId(ICommandIds.CMD_MAIL);
		// setImageDescriptor(tt.Activator.getImageDescriptor("/icons/sample2.gif"));
	}

	public void run() {
		showStatusMessage(Messages.getString("mailAction.status"));
		window.getShell().getDisplay().update();
//		Job job = new Job("send mail") {
//			protected IStatus run(IProgressMonitor monitor) {
//				SendMail sendMail = new SendMail();
//				boolean result = sendMail.sendMailToServer(DataTree.getDt()
//						.getMailString());
//				if (result) {
//					return Status.OK_STATUS;
//				}
//				return Status.CANCEL_STATUS;
//			}
//		};
//		job.setPriority(Job.SHORT);
//		job.schedule(); // start as soon as possible
		SendMail sendMail = new SendMail();
		boolean result = sendMail.sendMailToServer(DataTree.getDt()
				.getMailString());
		if(result){
			MessageDialog.openInformation(
					window.getShell(),
					Messages.getString("common.promptmessage"), Messages.getString("mailAction.mailsuccess")); //$NON-NLS-1$ //$NON-NLS-2$
			disStatusMessage();
		}
	}

	private void showStatusMessage(String msg) {
		WorkbenchWindow workbenchWindow = (WorkbenchWindow) PlatformUI
				.getWorkbench().getActiveWorkbenchWindow();
//		IActionBars bars = workbenchWindow.getActionBars();
//		IStatusLineManager lineManager = bars.getStatusLineManager();
//		lineManager.setMessage(msg);
		workbenchWindow.setStatus(msg);
	}

	private void disStatusMessage() {
		showStatusMessage("");
	}
}

⌨️ 快捷键说明

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