Welcome 微信登录

首页 / 软件开发 / JAVA

[Eclipse]GEF入门系列(序)

[Eclipse]GEF入门系列(序)

[Eclipse]GEF入门系列(序)2011-04-19 cnblogs bjzhanghao由于工作的需要,最近开始研究GEF(Graphical Editor Framework)这个框架,它可以 用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设 计器、UML类图编辑器等等。其实一年多来我们做的项目都是和它有关的,只是之前我具体负 责的事情和它没什么关系。那时也看过黄老大写的代码,EMF和GEF混在一起特别晕,没能坚 ...
[Eclipse]GEF入门系列(一、Draw2D)

[Eclipse]GEF入门系列(一、Draw2D)

[Eclipse]GEF入门系列(一、Draw2D)2011-04-19 cnblogs bjzhanghao关于Java2D相信大家都不会陌生,它是基于AWT/Swing的二维图形处理包, JDK附带的示 例程序向我们展示了Java2D十分强大的图形处理能力。在Draw2D出现以前,SWT应用程序在这 方面一直处于下风,而Draw2D这个SWT世界里的Java2D改变了这种形势。可能很多人还不十分了解GEF和Draw2D的关系:一些应用程序是只使用Dra...
[Eclipse]GEF入门系列(二、GEF概述)

[Eclipse]GEF入门系列(二、GEF概述)

[Eclipse]GEF入门系列(二、GEF概述)2011-04-19 cnblogs bjzhanghao在前面的帖子已经提到,GEF(Graphical Editor Framework)是一个图形化编辑框架, 它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很 多,例如:UML类图编辑器、图形化XML编辑器、界面设计工具以及图形化数据库结构设计工 具等等。归结一下,可以发现它们在图形化编辑方面具有以下共同之处:提供一个编...
[Eclipse]GEF入门系列(三、应用实例)

[Eclipse]GEF入门系列(三、应用实例)

[Eclipse]GEF入门系列(三、应用实例)2011-04-19 cnblogs bjzhanghao构造一个GEF应用程序通常分为这么几个步骤:设计模型、设计EditPart和Figure、设计 EditPolicy和Command,其中 EditPart是最主要的一部分,因为在实现它的时候不可避免的 要使用到EditPolicy,而后者又涉及到Command。现在我们来看个例子,它的功能非常简单,用户可以在画布上增加节点(Node)和节点间 的连接...
[Eclipse]GEF入门系列(四、其他功能)

[Eclipse]GEF入门系列(四、其他功能)

[Eclipse]GEF入门系列(四、其他功能)2011-04-19 cnblogs bjzhanghao最近由于实验室任务繁重,一直没有继续研究GEF,本来已经掌握的一些东西好象又丢掉 了不少,真是无奈啊,看来还是要经常碰碰。刚刚接触GEF的朋友大都会有这样的印象:GEF 里概念太多,比较绕,一些能直接实现的功能非要拐几个弯到另一个类里做,而且很多类的 名字十分相似,加上不知道他们的作用,感觉就好象一团乱麻。我觉得这种情况是由图形用 户界面(GUI)的复...
[Eclipse]GEF入门系列(五、浅谈布局)

[Eclipse]GEF入门系列(五、浅谈布局)

[Eclipse]GEF入门系列(五、浅谈布局)2011-04-19 cnblogs bjzhanghao虽然很多GEF应用程序里都会用到连接(Connection),但也有一些应用是不需要用连接 来表达关系的,我们目前正在做的这个项目就是这样一个例子。在这类应用中,模型对象间 的关系主要通过图形的包含来表达,所以大多是一对多关系。图1 不使用连接的GEF应用先简单描述一下我们这个项目,该项目需要一个图形化的模型编辑器,主要功能是在一个 具有三行N列的表格...
[Eclipse]GEF入门系列(六、添加菜单和工具条)

[Eclipse]GEF入门系列(六、添加菜单和工具条)

[Eclipse]GEF入门系列(六、添加菜单和工具条)2011-04-19 cnblogs bjzhanghao我发现一旦稍稍体会到GEF的妙处,就会很自然的被它吸引住。不仅是因为用它做出的图 形界面好看,更重要的是,UI中最复杂和细微的问题,在GEF的设计中无不被周到的考虑并以 适当的模式解决,当你了解了这些,完全可以把这些解决方法加以转换,用来解决其他领域 的设计问题。去年黄老大在一个GEF项目结束后,仍然没有放弃对它的继续研究,现在甚至利 用业余时...
[Eclipse]GEF入门系列(七、XYLayout和展开/折叠功能)

[Eclipse]GEF入门系列(七、XYLayout和展开/折叠功能)

[Eclipse]GEF入门系列(七、XYLayout和展开/折叠功能)2011-04-19 cnblogs bjzhanghao前面的帖子里曾说过如何使用布局,当时主要集中在ToolbarLayout和FlowLayout(统称 OrderedLayout),还有很多应用程序使用的是可以自由拖动子图形的布局,在GEF里称为 XYLayout,而且这样的应用多半会需要在图形之间建立一些连接线,比如下图所示的情景。 连接的出现在一定程度上增加了模型的复杂度,...
[Eclipse]GEF入门系列(八、使用EMF构造GEF的模型)

[Eclipse]GEF入门系列(八、使用EMF构造GEF的模型)

[Eclipse]GEF入门系列(八、使用EMF构造GEF的模型)2011-04-19 cnblogs bjzhanghaoGEF的设计没有对模型部分做任何限制,也就是说,我们可以任意构造自己的模型,唯一 须要保证的就是模型具有某种消息机制,以便在发生变化时能够通知GEF(通过EditPart)。 在以前的几个例子里,我们都是利用java.beans包中的PropertyChangeSupport和 PropertyChangeListener来实现消息机...
[Eclipse]GEF入门系列(九、增加易用性)

[Eclipse]GEF入门系列(九、增加易用性)

[Eclipse]GEF入门系列(九、增加易用性)2011-04-19 cnblogs bjzhanghao当一个GEF应用程序实现了大部分必需的业务功能后,为了能让用户使用得更方便,我们 应该在易用性方面做些考虑。从3.0版本开始, GEF增加了更多这方面的新特性,开发人员很 容易利用它们来改善自己的应用程序界面。这篇帖子将介绍主要的几个功能,它们有些在GEF 2.1中就出现了,但因为都是关于易用性的而且以前没有提到,所以放在这里一起来说。可折叠调色板在...
[Eclipse]GEF入门系列(十、表格的一个实现)

[Eclipse]GEF入门系列(十、表格的一个实现)

[Eclipse]GEF入门系列(十、表格的一个实现)2011-04-19 cnblogs bjzhanghao在目前的GEF版本(3.1M6)里,可用的LayoutManager还不是很多,在新闻组里经常会看 到要求增加更多布局的帖子,有人也提供了自己的实现,例如这个GridLayout,相当于SWT中 GridLayout的Draw2D实现,等等。虽然可以肯定GEF的未来版本里会增加更多的布局供开发者 使用(可能需要很长时间),然而目前要用GEF实现表...
[Eclipse]GEF入门系列(十一、树的一个实现)

[Eclipse]GEF入门系列(十一、树的一个实现)

[Eclipse]GEF入门系列(十一、树的一个实现)2011-04-19 cnblogs bjzhanghao两天前GEF发布了3.1M7版本,但使用下来发现和M6没有什么区别,是不是主要为了和 Eclipse版本相配套?希望3.1正式版早日发布,应该会新增不少内容。上一篇帖子介绍了如 何实现表格功能,在开发过程中,另一个经常用到的功能就是树,虽然SWT提供了标准的树控 件,但使用它完成如组织结构图这样的应用还是不够直观和方便。在目前版本(3.1M7)的...
[Eclipse]GEF入门系列(十二、自定义Request)

[Eclipse]GEF入门系列(十二、自定义Request)

[Eclipse]GEF入门系列(十二、自定义Request)2011-04-19 cnblogs bjzhanghao先简单回顾一下Request在GEF里的作用。Request是GEF里一个比较重要的角色,Tool将原 始的鼠标事件转换为EditPart可以识别的请求,Request则承载了这些请求信息。举例来说, 用户在调色板(Palette)里选择了创建节点工具(CreationTool),然后在画布区域按下鼠 标左键,这时产生在画布上的鼠标单击事...
在 Java 应用程序中计划重复执行的任务

在 Java 应用程序中计划重复执行的任务

在 Java 应用程序中计划重复执行的任务2011-04-19 IBM Tom White所有类型的 Java 应用程序一般都需要计划重复执行的任务。企业应用程序需要计划每日 的日志或者晚间批处理过程。一个 J2SE 或者 J2ME 日历应用程序需要根据用户的约定计划 闹铃时间。不过,标准的调度类 Timer 和 TimerTask 没有足够的灵活性,无法支持通常需 要的计划任务类型。在本文中,Java 开发人员 Tom White 向您展示了如何构建一个...
深入掌握Java技术EJB调用原理分析一

深入掌握Java技术EJB调用原理分析一

深入掌握Java技术EJB调用原理分析一2011-04-19一个远程对象至少要包括4个class文件:远程对象;远程对象的接口;实现远程接口的对象的stub;对象的skeleton这4个class文件。在EJB中则至少要包括10个class:Bean类,特定App Server的Bean实现类,Bean的remote接口,特定App Server的remote接口实现类,特定App Server的remote接口的实现类的stub类和skeleton类。B...
深入学习JavaFX脚本语言(面向Swing程序员) ---(上)

深入学习JavaFX脚本语言(面向Swing程序员) ---(上)

深入学习JavaFX脚本语言(面向Swing程序员) ---(上)2011-04-19内容比较声明式语法与过程式语法为程序增加动态行为学习更多的JavaFX GUI组件关于译者比较声明式语法和过程式语法正像我们在前一节所看到的,JavaFX语言提供了一种声明式语法来表达结构和用户接口组件的内容。为了帮助你理解,让我们以纯过程的方式重写上面的程序,就像我们在编写Swing程序时经常做的那样:var win = new Frame();win.title = ...
OSGi规范介绍

OSGi规范介绍

OSGi规范介绍2011-04-19 javaeye windy2coastOSGi(Open Service Gateway Initiative)最初的目的就是为各种嵌入式设备提供通用 的软件运行平台,即可以屏蔽设备操作系统与硬件区别的中间件平台。PC基本上被 Wintel架 构垄断,运行在PC上的应用程序完全可以在另一台PC上运行;但对于其他设备来说就不同, 它们的硬件平台可能完全不同,其操作系统也是来自不同厂商,所以任何设备上的应用程序 都需要定制...
<< 481 482 483 484 485 486 487 488 489 490 >>