自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (12)
  • 收藏
  • 关注

原创 如何复用eclipse Working Sets

当eclipse的两个workspace中的工程相同版本不同时,如何在workspace_B中复用Workspace_A中已设置好的Working Sets:将Workspace_A\.metadata\.plugins\org.eclipse.ui.workbench\

2011-08-03 17:19:18 1757

原创 编辑器中文本框(Text)动态放大缩小

Text txt = new Text(groupBasicInfo,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);// 文本框放大/缩小按钮final Button zoomBtn = new Button(groupBasicInfo, SWT.ARROW);zoomBtn.setAlignment(SWT.DOWN);GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).applyTo(zoomBt

2011-01-14 16:33:00 1795

原创 修改流程图元的框选条件

<br />GMF默认的流程图元的框选条件是全框选图元后图元才可被选中。修改框选条件如下:<br /> <br />扩展RubberbandSelectionTool类,修改其calculateNewSelection()方法。修改代码如下:<br />private List calculateNewSelection() {<br />... ...<br /> <br /> // if (marqueeBounds.contains(r.getTopLeft()) // && marqueeB

2011-01-11 08:58:00 569

转载 正确使用 Volatile 变量

<br />Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对其适用性限制提出一些建议。<br />Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchro

2010-08-10 20:35:00 262

原创 GMF中如何获取模型所在文件和工程

<br />// 获取模型所在文件对象<br />IFile file = WorkspaceSynchronizer.getFile(resource);<br /> <br />// 获取文件所在工程<br />IProject project = file.getProject();

2010-07-19 16:56:00 675

转载 聚合(Aggregation)和组合(Composition)的区别

聚合(Aggregation)一種鬆散的對象閒的關係部分可獨立于聚合而存在 关联是表示两个类的一般性联系,比如“学生”和“老师”就是一种关联关系;聚合表示has-a的关系,是一种相对松散的关系,聚合类不需要对被聚合类负责,如下图所示,用空的菱形表示聚合关系: 从实现的角度讲,聚合可以表示为: class A {...} class B { A* a; .....}  当B类

2010-04-06 10:43:00 569

原创 新建一个java类文件对话框

IJavaProject jproject  = JavaCore.create(project);try {  IType type = jproject.findType(object.getClassName());  if (type!=null)  {     JavaUI.openInEditor(type); //支持打开源文件和类文件  } else {     NewClassW

2009-09-14 09:20:00 1055

原创 首选项添加

第一步:添加org.eclipse.ui.preferencePages扩展点,在该扩展点上添加一个Page页面,该页面就是要添加的首选项页面了第二步:添加org.eclipse.core.runtime.prefrences扩展点,在该扩展点上添加一个initializer,用于初始化首选项值第三步:通过**UIPlugin.getDefault().getPreferenceStore

2009-09-04 11:18:00 614

原创 右键菜单的过滤和启动

一、添加右键菜单步骤:       1、扩展org.eclipse.ui.popupMenus扩展点      2、添加一个objectContribution节点。其中的objectClass用于过滤对象,nameFilter用于条件匹配      3、在objectContribution节点下添加menu节点。Menu节点下可添加separator节点,用于菜单下的菜单项分组

2009-09-01 13:33:00 1304

原创 GEF图形操作流程

第一步:创建EditPolicy,EditPolicy用于管理一些Command命令。第二步:在EditPart的createEditPolicies方法中安装创建的EditPolicy。第三步:创建EditPolicy对应的command命令,将创建的命令设置到EditPolicy对应的命令获取方法中去。第四步:在模型中设置监听器,用于当模型改变时通知对应的EditPart,例如:

2009-05-08 10:52:00 719 1

原创 GEF创建流程

第一步:创建模型Model第二步:创建模型对应的控制器EditorPart,用于绘制图形      EditorPart从AbstractEditorPart继承过来,在AbstractEditorPart类中提供了refreshVisuals()用于把约束施加给图形。第三步:创建连接模型和控制器的工厂EditorPartFactory第四步:在Editor中创建Graphical

2009-05-08 09:44:00 493

原创 透视图的布局

      (1)首先,一个透视图只有一个编辑区域(EditorArea),可以通过IPageLayout对象的getEditorArea()方法获得。如果不想显示编辑区域可以通过setEditorAreaVisable(boolean showEditorArea)方法来隐藏编辑区域。      (2)其次设置操作集(ActionSet),可以通过addActionSet(String ac

2009-05-06 15:47:00 702

原创 RCP运行的基本原理

第一步:插件类RCPPlugin      系统运行后首先在MANISFEST.MF文件中找到Bundle-Activator所对应的插件类,通过该类的静态方法获得插件对象的引用,然后获得插件的各种信息,包括插件所对应的Bundle文件信息、log日志对象和工作台对象等。例如:获取插件在MANISFEST.MF定义的标识符。      RCPPlugin.getDefault().getB

2009-05-06 13:36:00 2064

原创 一个简单的SWT Text ip地址框

Text text = new Text();text.addVerifyListener(new VerifyListener() {      @Override       public void verifyText(VerifyEvent e) {              String ipText = getControl().getText();              char

2009-04-22 15:59:00 1400 1

原创 eclipse插件项目中添加状态栏信息

WorkbenchWindow workbenchWindow = (WorkbenchWindow) PlatformUI.getWorkbench ().getActiveWorkbenchWindow();workbenchWindow.setStatusLineVisible(true);IActionBars bars = workbenchWindow.getActionBars();

2009-04-22 08:57:00 2154 3

原创 GridLayout的几种常用设置

在使用GridLayout时,同一种设置常常有不同的写法,现总结如下:1.GridLayout设置:   GridLayout layout = new GridLayout();   // 设置容器的列数   layout.numColumns = 4;   // 设置容器上的组件是否等距分开   layout.makeColumnsEqualWidth = false;   等价写

2008-12-18 13:42:00 4950

GEF_Tutorial.rar(GEF开发指南)

一本很好的GEF入门教程,通过实例详细的描述了GEF开发的全流程。

2008-12-18

Head.First.设计模式.中文版.part10.rar(10/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head.First.设计模式.中文版.part09.rar(9/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head.First.设计模式.中文版.part08.rar(8/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head.First.设计模式.中文版.part07.rar(7/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head.First.设计模式.中文版.part06.rar(6/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head.First.设计模式.中文版.part05.rar(5/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head.First.设计模式.中文版.part04.rar(4/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head.First.设计模式.中文版.part03.rar(3/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head.First.设计模式.中文版.part02.rar(2/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Head First设计模式中文版.part01.rar(1/10)

《Head First设计模式》采用引导式教学的方式编写,利用故事当做引子,带领读者思考并想办法解决问题。

2008-11-25

Eclipse插件开发(SWT、Draw2D、GEF)

基于eclipse的工具开发,介绍了SWT、Draw2D、GEF、JET等与eclipse插件开发相关的知识。

2008-10-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除