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

📄 enumgeneratornewwizard.java

📁 基于eclipse的工具开发代码
💻 JAVA
字号:
package com.cownew.enumgenerator.wizards;import java.lang.reflect.InvocationTargetException;import java.util.Set;import org.eclipse.core.resources.IFile;import org.eclipse.core.runtime.CoreException;import org.eclipse.core.runtime.IProgressMonitor;import org.eclipse.jdt.core.ICompilationUnit;import org.eclipse.jdt.core.IPackageFragment;import org.eclipse.jdt.core.IPackageFragmentRoot;import org.eclipse.jdt.core.JavaModelException;import org.eclipse.jdt.ui.JavaUI;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.jface.operation.IRunnableWithProgress;import org.eclipse.jface.viewers.ISelection;import org.eclipse.jface.viewers.IStructuredSelection;import org.eclipse.jface.wizard.Wizard;import org.eclipse.ui.INewWizard;import org.eclipse.ui.IWorkbench;import org.eclipse.ui.IWorkbenchPage;import org.eclipse.ui.PartInitException;import org.eclipse.ui.PlatformUI;import org.eclipse.ui.ide.IDE;import com.cownew.enumgenerator.Activator;public class EnumGeneratorNewWizard extends Wizard implements INewWizard{	private EnumGeneratoreNewWizardPage genPage;	private EnumGenItemDefWizardPage itemDefPage;	private ISelection selection;	public EnumGeneratorNewWizard()	{		super();		setNeedsProgressMonitor(true);	}	public void addPages()	{		genPage = new EnumGeneratoreNewWizardPage(selection);		addPage(genPage);		itemDefPage = new EnumGenItemDefWizardPage();		addPage(itemDefPage);	}	public boolean performFinish()	{		final String packageName = genPage.getPackageName();		final String fileName = genPage.getFileName();		final Set<String> itemDefSet = itemDefPage.getEnumItems();		final IPackageFragmentRoot srcFolderPck = genPage				.getPackageFragmentRoot();		final IPackageFragment pckFragment = srcFolderPck				.getPackageFragment(packageName);				IRunnableWithProgress op = new IRunnableWithProgress() {			public void run(IProgressMonitor monitor)					throws InvocationTargetException			{				try				{					doFinish(pckFragment, packageName,fileName, monitor, itemDefSet);				} catch (CoreException e)				{					throw new InvocationTargetException(e);				} finally				{					monitor.done();				}			}		};		try		{			getContainer().run(true, false, op);		} catch (InterruptedException e)		{			return false;		} catch (InvocationTargetException e)		{			Throwable realException = e.getTargetException();			MessageDialog.openError(getShell(), "Error", realException					.getMessage());			return false;		}		return true;	}	private void doFinish(IPackageFragment pckFragment, String packageName,String fileName,			IProgressMonitor monitor, Set<String> itemDefSet) throws CoreException	{		monitor.beginTask("Creating " + fileName, 2);				final ICompilationUnit cu = pckFragment.createCompilationUnit(fileName,				EnumCodeGenUtils.getEnumSourceCode(packageName,fileName,itemDefSet), true, monitor);		monitor.worked(1);		monitor.setTaskName("Opening file for editing...");		getShell().getDisplay().asyncExec(new Runnable() {			public void run()			{				try				{					JavaUI.openInEditor(cu);				} catch (PartInitException e)				{					Activator.logException(e);				} 				catch (JavaModelException e)				{					Activator.logException(e);				}			}		});		monitor.worked(1);	}	public void init(IWorkbench workbench, IStructuredSelection selection)	{		this.selection = selection;	}}

⌨️ 快捷键说明

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