`
文章列表
    第一步,新建一个普通的Java工程。在网上,我找到了网友们的实现,经过测试是能正常使用的。 import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.eclipse.core.resources.ICommand; import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources. ...

HelloStruts2

    很久没进行web开发,感觉快要忘光了,重拾起快遗忘的记忆,从struts2基础学起。     第一步,当然是从官网下载最新的struts2,地址http://struts.apache.org/,我习惯下载-all.zip,解压,准备开始第一个struts2。     第二步,打 ...
    单例模式中,有两种实现,一种是饥饿模式,另一种是懒汉模式。     饥饿模式的实现: public final class EagerSingleton { private static EagerSingleton instance = new EagerSingleton(); private EagerSingleton(){ } public static EagerSingleton getSingleInstance(){ return instance; ...
    在使用eclipse过程中,我们可以通过导航器右键菜单中的open with System editor命令让调用系统(如windows,linux)自身已有的程序打开一个文件资源;通过跟踪代码发现首先运行了OpenWithMenu的openEditor方法,然后再调用WorkbenchPage的openEditor方法等等,层次很深,而最终应该是调用了SWT中的Program类的launch(String fileName)方法。     那么我们假如需要在开发的rcp程序中也来调用系统已有的程序打开文件,那么可以通过一行简单的代码就搞定了。 Program.launch(“sel ...
    当运用eclipse扩展点handler来使用command的时候,有时我们需要获取得到上下文信息,其实在org.eclipse.core.commands.IHandler这个接口中定义的execute(ExecutionEvent event)方法里面,我们可以从event这个参数获取得到全局状态(随上下文信息改变)。     我们可以通过继承org.eclipse.core.commands.AbstractHandler来定制我们需要的handler。例如说我想要获取到左侧导航器中选中的IResource的话,我会实现一个类继承自AbstractHandler,并定义方法通过Ex ...
    在开发rcp过程中,不可避免的需要加入第三方插件,与此同时会引入很多我们不想要的扩展点,不改动源码包的情况下我们可以选择用代码的方式过滤不想要的扩展点。     我们可以在我们定义的WorkbenchWindowAdvisor的postWindowStart()方法中对这些第三方扩展点进行过滤。     第一种情况,过滤主菜单、工具栏。eclipse机制中的IWorkbenchWindow里面保存了菜单、工具栏等相关信息,我们可通过它来移除IContributionItem(可通过传入IContributionItem实例或者对应的ID),下面以过滤CoolBar来作为示例。      ...
1..IWorkbench: workbench是eclipse用户界面中最底层的对象,它建立在Display之上,包含一个或多个IWorkbenchWindow,用于向终端用户呈现信息 当你的workbench插件被激活的时候,eclipse平台将为之创建一个实例,在平台的整个生命周期中,只允许出 ...
开发rcp程序的时候,需要获取许多平台和编辑器的相关信息。 /** * 获取当前活动的IWorkbenchPage * * @return */ public static IWorkbenchPage getActivePage() { return PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage(); }   /** * 获取当前活动的编辑器 * * @return */ public static IEditorPart getActiveEditor ...
Global site tag (gtag.js) - Google Analytics