`
文章列表
package org.design.patterns; import java.io.File; import java.io.FilenameFilter; /** *策略模式:定义了算法族,分别封装起来,让它们之间可以相互替换, * 此模式让算法的变化独立于使用算法的客户。 * *策略模式使用多个类来区分不同的行为,使用策略模式避免暴露复杂的、与算法相关的 *内部数据结构。 *当一个类中的操作以多个条件分支语句的形式出现的时候,可以使用策略模式 *将相关的条件分支移入各自的具体策略类中以代替这些条件语句,从而减少系统的复杂度。 ...
1.在RCP中ApplicationWorkbenchWindowAdvisor的preWindowOpen()中添加: configurer.setShowPerspectiveBar(true);//表示显示透视图栏 2.在RCP配置product文件后,在plugin_customization.ini中添加: ------ org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false org.eclipse.ui/DOCK_PERSPECTIVE_BAR=TOP_RIGHT ------ 其中第一句:表示RCP中的Tab的显示不是规则的普通类型,而 ...
================== 1.得到Eclipse安装目录(eclipse.exe所在的目录)绝对路径: Platform.getInstallLocation().getURL().getPath().substring(1); 2.得到项目中资源路径(常用的比如图片等) e.g.:getPluginResourcePath(“org.xxxx.xxx.xx.pluginId”,"icons/xxx.jpg") ...
1. 直接进入Eclipse官网(http://wiki.eclipse.org/CVS_Howto) 2.获取建立cvs链接的地址(location)、通行证(Authentication)及连接方式(connection) 如下: 【表--2】 URL Project Name :pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse The Eclipse platform project :pserver:anonymous@dev.eclipse.org:/cvsroot/tools Tools project :pser ...
IProgressMonitor:通过这个接口控制进度条的现实 ProgressMonitorDialog:进度对话框 IRunnableWithProgress和java的标准接口Runnable实现多线程的任务运行非常相似,只有把任务放到run方法中就可以了,最重要的是可以调用monitor来对当前进度显示进行控制。下面就是一个完整的进度条演示例子: ProgressMonitorDialog dialog=new ProgressMonitorDialog(shell); dialog.run(true,true,new IRunnableWithProgress(){ ...
ClassNotFoundExceptoion :就是没找到对应的类的异常,这在我们的平实的开发中是经常遇到的,很常见的异常。       在插件开发中,有些类(jar包)明明是在buildPath里面配置过的,在main方法里面能调用该类及其方法;可是当项目以插件的形式运行时,缺曝出了ClassNotFoundExceptoion ,提示相关的类(jar包)找不到: 原因:   运行main方法用到的jvm和运行eclipse插件开发换环境所用的到jvm不同,不是一个,所以,我们平实配置的buildpath是为main启动时用到的那个jvm配置的,而运行插件的开发环境却没有配置,故,出了错 ...
说明:<!DOCTYPE xxx SYSTEM "test.dtd"> 解析xml是在同级目录下放置了test.dtd文件,可是还是不能找到这个dtd文件,于是就用了下面的方法: ================================= XMLReader reader = XMLReaderFactory.createXMLReader(); //reader.setErrorHandler(errorHandler); //reader.setContentHandler(contentHandler); reader.setEn ...
考虑到软件协议(AGPL,GPL)问题,避免可能产生的纠纷,建议itext的相关jar包(如:com.lowagie.text等)用2.1.7及以前的。 ---------------------- 首先导入需要的jar包(如:com.lowagie.text_2.1.7.v201004222200.jar,iTextAsian.jar,jxl.jar(Excel相关)) ...
{ Composite topComp = null; // ... // CTabFolder CTabFolder tabFolder = new CTabFolder(topComp, SWT.TOP | SWT.BORDER); GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); gd.horizontalSpan = 20; tabFolder.setLayoutData(gd); tabFolder.setTabHeight(3 ...
//隐藏掉系统中的默认的菜单和工具项 public static void hideSystemMenu() { IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); page.hideActionSet("org.eclipse.ui.WorkingSetActionSet"); page.hideActionSet("org.eclipse.ui.edit.text.actionSet.annotationNa ...
String enter = System.getProperty("line.separator")//系统中的回车 String seperator=File.separator//系统中"\"or"/" //1. DirectoryDialog dirDialog = new DirectoryDialog(composite.getShell()); dirDialog.setFilterPath("D:\a"+seperator); String url = dirDialog ...
FileDialogsaveFileDlg = new FileDialog(Display.getDefault().getActiveShell(), SWT.SAVE); saveFileDlg.setText("Save Chip File"); saveFileDlg.setFilterExtensions(new String[] { "*.xml" }); saveFileDlg.setFilterPath(userDirPath); saveFileDlg.setOverwrite(t ...
比如要实现Ctrl+S的Save快捷键时,会出现插件本身的快捷键和自定义的两个快捷键,这样显然不是我们想要的效果。 方案(1)   //屏蔽快捷键 ((IBindingService)PlatformUI.getWorkbench().getAdapter(IBindingService.class)).setKeyFilterEnabled(false); PS.:这个能屏蔽所有的Binding 包括自定义的,这显然不合适。 方案(2) 采用默认的ContextID:org.eclipse.ui.contexts.window   在plugin.xml中实现: ...
首先说明的是: 为了用滚动面板最好用3个层次的Composite: befComposite---滚动面板的直接父类;  scrolledComposite---滚动面板自己;inComposite--滚动面板的直接子类,用于存放各种子控件。   Composite befComposite= new Composite(shell, SWT.NONE); gridData = new GridData(GridData.FILL_BOTH); befComposite.setLayoutData(gridData); befComposite.setLayout(new ...
在 [url]SWT中org.eclipse.swt.SWTError: No more handles[/url] 一文中有介绍,但最近又遇到这个问题。 其实,在那篇文章中提到的用Map 模拟注册表 缓存的方法是很凑效的,之所以又出现这个异常是因为一时疏漏 在一个方法中new Image后没有及时dispose该image(由于该image在Graphics中调用属于临时image 没必要放到map中,正确的方法是用完后dispose),而该方法又被频繁调用,这就又导致了该异常。 虽然最后的解决方案很简单,就添加一行image.dispose就ok了,不过由于项目比较大,想快速定位到错误的 ...
Global site tag (gtag.js) - Google Analytics