自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (11)
  • 收藏
  • 关注

原创 dom4j 替换xml 节点元素

private static org.dom4j.Document replaceElement(File newXML, org.dom4j.Element connectionElement) { org.dom4j.Document doc = getDoc(newXML); org.dom4j.Element rootElement = doc.getRootEleme

2013-07-17 11:10:12 2594 1

转载 SWT 绘图技术

SWT 绘图技术Standard Widget Toolkit ( SWT,标准窗口小部件工具箱 ),是在 Eclipse 平台上使用的窗口小部件工具箱,它能向开发者提供和本机平台一致的用户界面和比较稳定的性能,并封装了大量的绘图 API,提供了强大的图像处理和绘图功能。在文章 SWT 图像处理入门中已经详细介绍了如何用 SWT 封装的 Image,ImageData 等类实现常用的图

2013-02-06 10:51:09 1247

转载 SWT 图像处理入门

SWT 图像处理入门Standard Widget Toolkit ( SWT,标准窗口小部件工具箱),是在 Eclipse 平台上使用的窗口小部件工具箱,它能向开发者提供和本机平台一致的用户界面和比较稳定的性能,也提供了强大的图像处理功能。本文首先介绍 SWT 封装的 Image, ImageData 等类,接着根据作者实际工作经验给出了一些常见图像处理的解决方法。SWT Ima

2013-02-06 10:45:59 670

原创 java的反射机制

Reflection是Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。 Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。JavaB

2013-02-05 15:58:52 313

原创 RCP开发中的一些小技巧

一、同时关闭所有打开的view  在view中,只有一个close,每次只能关闭当前窗口在eclipse的编辑窗口的标题上点右键,里面有 close All可以使用遍历的方法,遍历所有打开的View,然后将其隐藏:AsyncUtil.asyncExec(new Runnable(){ public void run() {

2013-01-24 13:37:38 1415

转载 让多个Viewer对应一个属性视图

为了让用户在WorkbenchPart(如IEditorPart)的Viewer(如TableViewer)里选择一个对象时,属性视图里能显示这个元素的属性,一般会将这个Viewer设置为该WorkbenchPart的site的selectionProvider:editPart.getSite().setSelectionProvider(theViewer);

2013-01-23 14:30:43 646

转载 GEF常见问题8:导出到图片

利用org.eclipse.draw2d.SWTGraphics类和org.eclipse.swt.graphics.ImageLoader类可以实现把画布导出到图片文件的功能,原理是在内存里创建一个空白的Image,然后把Diagram画到它上面,最后保存到指定文件和格式。我们可以把导出工作分为两部分,第一部分负责提供要导出的IFigure实例(若要导出整个画布,应从GraphicalV

2013-01-23 14:21:02 477

转载 GEF常见问题6:使用对话框

除了利用Eclipse提供的属性视图以外,GEF应用程序里当然也可以通过弹出对话框修改模型信息。要实现双击一个节点打开对话框,在NodePart里要增加的代码如下:public void performRequest(Request req) { if(req.getType().equals(RequestConstants.REQ_OPEN)){ Mes

2013-01-23 14:17:12 566

转载 GEF常见问题5:自动布局

利用自动布局功能,我们可以把本来不包含图形信息的文件以图形化的方式展示出来,典型的例子比如将一组Java接口反向工程为类图,那么图中每个图元的坐标应该必须都是自动生成的。GEF里提供了DirectedGraphLayout类用来实现自动布局功能,下面介绍一下怎样在程序里使用它。DirectedGraphLayout提供的visit()方法接受一个org.eclipse.draw2d.gra

2013-01-23 14:12:40 548

转载 GEF常见问题4:非矩形图元

现在假设要把原来GefPractice例子里的矩形图元节点换成用椭圆形表示,都需要做哪些改动呢?很显然,首先要把原来继承RectangleFigure的NodeFigure类改为继承Ellipse:public class NodeFigure extends Ellipse /*RectangleFigure*/{ ..}这样修改后可以看到编辑器中的图元已经变成椭圆形了。但如果

2013-01-23 14:08:13 571

转载 GEF常见问题3:自身连接

在类图里能看到一些对象具有对自己的引用,通常这些引用用于表达树状结构,即父子节点都是同一类对象。用GEF绘制这样的连接线一般是通过转折点(Bendpoint)实现的,如果你的GEF应用程序里还不能使用Bendpoint,请按照上一篇介绍的步骤添加对Bendpoint的支持。原先我们的GefPractice应用程序是不允许一条连接线的起点和终点都是同一个图形的,因为这样会导致连接线缩成一个点

2013-01-23 14:03:31 566

转载 GEF常见问题2:具有转折点的连接线

从直线连接转换到可以任意增减转折点的折线连接,因为模型里要增加新的元素,所以模型、editpart和图形部分都要有所修改,显得稍微有些烦琐,但其实很多代码是通用的。这个过程主要分为以下几个部分:1、在模型里增加转折点对应的类(这些转折点在GEF里称作Bendpoint),在类里要具有两个Dimension类型用来记录Bendpoint相对连接线起止点的位置。在连接类里要维护一个Bend

2013-01-23 13:57:00 958

原创 GEF常见问题1:为图形编辑器设置背景图片

GEF的RootEditPart对应的Figure是一个由多个Layer组成的LayeredPane,每个Layer负责包含不同类型的图形元素,如节点、连接、网格线等等。所以要让图形编辑器显示一个图片作为背景,可以在它们其中一个层里绘制这个图片,也可以添加一个层专门放置背景图片.static Image BG_IMAGE=new Image(null,"c:\\bg.jpg");pro

2013-01-23 13:51:27 845

转载 动态生成WizardPage

Eclipse的Wizard是由一系列WizardPage组成的。缺省情况下,WizardDialog在初始化的时候就会调用每个WizardPage的createControl()方法来布局这些WizardPage,这是为了方便决定WizardDialog窗口的大小。但如果某个WizardPage里的控件是需要动态生成的,例如,用户在Page1里输入一个整数n,Page2里要根据这个整数生成n个文

2013-01-23 13:47:57 701 1

转载 继承PageBookView实现自己的“属性视图”

很多Eclipse应用程序在提供一个Editor的同时还提供一些View,这些View监视Editor的Selection,提供一些上下文相关的信息。Eclipse自带的PropertySheet(属性视图)就是这样一个例子,Outline(大纲视图)也是如此,从功能上看,不妨把这类用途的视图称为“广义的属性视图”。以前我都是直接继承ViewPart来实现自己的属性视图的,但我发现要花不少

2013-01-23 13:45:28 612

转载 Eclipse 3.4新特性 - Plug-in spy

Eclipse 3.4提供了一个新功能:在任何界面下按Alt+Shift+F1 (Windows, Mac OS里用Shift+Option+F1),就可以看到Eclipse用来实现当前选中界面元素的类。这个功能至少我看起来对插件开发人员很有用,因为当你想要模仿实现(或利用)Eclipse里的某个界面时,不用再像以前那样猜这个界面的实现类的名字了。比如最开始我就用了很久才找到属性视图的实现

2013-01-23 13:40:23 514

转载 GridLayoutFactory和GridDataFactory

一般写的SWT程序里用到layout的地方大部分都是GridLayout,今天才发现原来从eclipse 3.2开始就有了这两个方便使的类:GridLayoutFactory和GridDataFactory。特别是GridDataFactory,以前要用至少三行的代码:GridData gd = new GridData(GridData.FILL_HORIZONTAL);gd.horizo

2013-01-23 13:37:32 655

原创 使用图形编辑框架GEF创建基于Eclipse的应用程序

简介: 了解使用图形编辑框架(Graphical Editing Framework,GEF)创建基于 Eclipse 的应用程序涉及的最初步骤。此外,介绍了目前在 Eclipse 中引导创建图形编辑器过程使用的选项。本文将介绍使用图形编辑框架(Graphical Editing Framework,GEF)的步骤。我们不是完整地完成每个步骤,而是将使用您的应用程序模型的子集,并先使该

2013-01-22 17:26:24 2588 1

转载 GEF 进阶,第六部分: Feedback

简介: Feedback(反馈)指的是GEF中对用户操作的一种回显,这种回显一般来说是视觉上的,但是也不一定。完全可以由用户来定制。本文介绍Feedback的相关概念,并通过实例演示其定制过程。Feedback(反馈)指的是GEF中对用户操作的一种回显,这种回显一般来说是视觉上的,但是也不一定。完全可以由用户来定制。本文介绍Feedback的相关概念,并通过实例演示其定制过程。

2013-01-22 17:02:55 655

转载 GEF 进阶,第五部分: Viewer

简介: Viewer是GEF中顶层的界面组件,可以认为Viewer就是一块画板,里面放什么东西完全可以由你控制。在GEF中,这样的画板不止一块,其外观也不太相同,我们也可以添加自己的Viewer。Viewer在内部应用了MVC的设计模式,要自定义一个Viewer,必须完成MVC的所有元素,本文演示了这个基本的过程。ViewerGEF中的一些常见的组件其实都是Viewer,如下图所示

2013-01-22 16:53:07 616

转载 GEF 进阶,第四部分: Locator

简介: 本文是GEF进阶的第四部分,主要描述了Locator的概念和使用方法。Locator是 一个图形定位器,用来动态的决定某个图形相对于另外一个图形的位置,因此可以用来构造一些 复杂的图形或者实现一些比较有趣的功能。由于Eclipse 3.3已经发布,本文的示例代码是在 Eclipse 3.3, GEF 3.3运行调试的。本文是GEF进阶的第四部分,主要描述了Locator的概

2013-01-22 16:44:11 742

转载 GEF 进阶,第三部分: Layer

简介: 在GEF中,画板是由多个Layer(层)组成的,层也可以看作是对图形进行的一种分类管理,它使图形更加明确,层次清晰。程序结构上也更容易理解和维护。层同样也是可以定制的,本文演示如何实现并插入一个自定义层,并指出了插入自定义层所应该注意的一些问题。Layer(层)GEF的图形是可能分布在多个层上面的,比如连线是放在Connection Layer(连接层)上的,而普通的图形(

2013-01-22 16:33:23 574

转载 GEF 进阶,第二部分: Router

简介: Router(连线路由器)是对连线进行布局的重要组件,本文介绍了路由器的基本概念和应用场景,剖析了一个连线路由器的接口并给出了一个简单实例。最后演示了如何把自定义的路由器应用到图形中,使得不同的连线可以有不同的路由器。ConnectionRouter图形之间连线的路线,是由连线路由器来决定的。在Shapes Examples中,使用了最短路径路由器,这个路由器会帮我们绕开图形之间的

2013-01-22 16:27:33 576

转载 GEF 进阶,第一部分: Anchor

简介: GEF(Graphical Editing Framework)是Eclipse Tools的子项目,它在底层使用Draw2D作为布局和渲染引擎,在整体上使用MVC模式管理模型和视图。利用GEF,开发者可以从应用模型开始,迅速的构造一个可视化编辑环境。正如其名字所说,它只是一个框架,很多具体的事情仍然要靠开发者完成,但这也是GEF灵活的一方面,只要你掌握了相关的概念,你就可以对一个GEF应

2013-01-22 15:23:22 752

转载 GEF常见问题7:计算字符串在画布上占据的空间

要准确的计算文字在画布上占据的空间,可以利用org.eclipse.swt.graphics.GC的stringExtent()方法实现,见下面的代码:GC gc = new GC(Display.getDefault());gc.setFont(yourFont);//这一步不可缺少,因为有些字体里各字符的宽度是不同的Point size = gc.stringExtent(text

2013-01-22 14:20:00 258

原创 Java序列化与反序列化

package com.io.test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.ObjectInputStream;import java.io.ObjectOutp

2013-01-22 14:16:43 219

转载 GEF学习笔记

八进制的博客园:http://www.cnblogs.com/bjzhanghao/archive/2005/02/09/103595.html

2013-01-22 14:09:29 297

原创 GEF中鼠标双击事件的获取

就是在figure对应的editpart中重载方法performRequest(Request req),并判断req的type是否为equestConstants.REQ_OPEN,如果是,则处理双击事件。

2013-01-22 14:04:21 518

转载 GEF入门

1 必须具备知识:在学习GEF之前必须了解Eclipse这个平台的架构体系,所以先讲述Eclipse平台的架构体系.1.1 Eclipse架构体系:图表 1 1 eclipse架构体系正如上面所叙述: Eclipse Platform包括以下插件:1. platform runtime: 注意这个插件是必须要的,启动eclipse需要他.2. workspace3. debug

2013-01-15 16:37:16 870

转载 一个大整数相乘算法的例子

public class BigInts { public String BigIntAdd(String s1, String s2) throws IOException { IntString intt1 = new IntString(); String str = ""; IntString intt2 = new IntString(); intt1.digits =

2012-12-28 15:00:04 305

转载 GC工作机制

SUN的jvm内存池被划分为以下几个部分: Eden Space (heap) 内存最初从这个线程池分配给大部分对象。 Survivor Space (heap) 用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。 Tenured Generation (heap) 用于保持已经在survivor space内存池中存在了一段时间的对象。 Permanent Ge

2012-12-28 14:55:00 290

转载 一些常用的文档地址集合

http://www.gxp.cc/file-2310976.html [XSLT]XSLT.2.0.Programmers.Reference.Third.Edition.eBook-LiB.ziphttp://www.gxp.cc/file-2310983.html [win32api]新编WINDOWSAPI大全.ziphttp://www.gxp.cc/file-2310984

2012-12-28 14:46:02 1114

原创 使用eclipse状态栏的进度条

public void run(IAction action) { IRunnableWithProgress rwp = new IRunnableWithProgress() { @Override public void run(IProgressMonitor monitor) { monitor.beginTask("正在收取邮件" + "", IProgress

2012-12-28 14:26:51 2612

原创 让view标签显示波浪

public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor { private static final String PERSPECTIVE_ID = " "; @Override public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor( IWor

2012-12-28 14:18:37 418

原创 添加一个视图

//先在plugin.xml扩展点添加一个view。public class Perspective implements IPerspectiveFactory { @Override public void createInitialLayout(IPageLayout layout) { layout.setEditorAreaVisible(false); la

2012-12-28 14:06:53 440

原创 RCP应用中创建系统托盘和状态栏

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor { private Image statusImage = null; private Image trayImage = null; private TrayItem trayItem = null; private Imag

2012-12-28 13:56:29 1128

转载 eclipse快捷键

Eclipse快捷键大全(转载)Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编

2012-12-28 13:43:37 292

转载 正则表达式

\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。序列“\\”匹配“\”而“\(”则匹配“(”。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp对象的Mu

2012-12-28 13:35:22 219

转载 仅仅一个工厂设计模式的例子

public interface IWorkFactory { public Work getWork();}public class StudentWork implements Work{ public void dowork() { System.out.println("学生做作业!"); }}public class StudentWorkFactory implem

2012-12-27 14:41:30 264

转载 实现网络下载文件功能

public class DownloadStartup { private static final String encoding = "utf-8"; public static void main(String[] args) { DownloadTask downloadManager = new DownloadTask(); // String urlStr =

2012-12-27 14:34:57 358

Marker(xml查看编辑工具) 2.2 绿色英文版

Marker(xml查看编辑工具) 2.2 绿色英文版 --------软件说明------------------ XML Marker是国外的一款非常实用的xml查看编辑工具。软件功能强大,纯文本调试输出和日志文件,你可以有效增加修改你的程序才能产生XML格式他们的作用。你也可以使用XML标记的图形功能,以现场隐藏的趋势,并更快地解决你的错误。更多的功能包括表格排序,语法高亮编辑器和自动缩进。经常编辑XML文件的用户可以下载本软件使用。

2018-05-20

CCleaner安装包

注册表清理工具,磁盘清理工具,占用资源小; 注册表清理工具,磁盘清理工具,占用资源小;

2018-05-20

Dom4j.jar and jaxen.jar

Dom4j.jar jaxen.jar

2013-07-17

SWT入门手册

The Definitive Guide to SWT and JFace.chm 完整详细的SWT,JFace从入门到精通,整理于eclipse官网,进行了汉化

2013-02-04

Eclipse Rich Client Platform 2nd Edition.pdf

Eclipse Rich Client Platform 2nd Edition.pdf 完整详细的RCP富客户端平台开发技术学习宝典

2013-02-04

GEF完整教程英文版

GEF (Graphical Editing Framework) Tutorial 内含大量详细示例和代码片段,是学习GEF的必备资料

2013-02-04

EMF学习完整教程

EMF学习完整教程,EMF: Eclipse Modeling Framework Second Edition

2013-02-04

visual studio 2008 入门宝典 书中代码

visual studio 2008 入门宝典 书中代码

2012-07-11

DrawLineCode

DrawLineCode 画图

2012-07-05

把脉VC++源代码

把脉VC++源代码

2012-07-04

空空如也

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

TA关注的人

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