| 笔名:nelson_tu | |
| 地区: 未填 | |
| 作者相册 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
| Keep it simple, Stupid,Less is more. 提供开源Java项目的共享信息,与Java爱好者共同学习和切磋。 CSDN同步blog >> | 近期推出 1、RCP实例:一个简单的文件浏览器 2、Groovy基础教程 3、Spring的持久化集成:iBatis |
感谢支持!
特别声明
Eclipse Workbench UI

(注:上图是Eclipse 2.1.x版本的UI的组成分解,Eclipse 3.0.x版本的UI组成和Eclipse 2.1.x一样的,只是界面风格有所变化)
1、Workbench(IWorkbench接口)
l Eclipse平台UI的根对象
l 包括一组Workbench窗口
2、Workbench窗口(IWorkbenchWindow接口)
l Eclipse平台UI中最顶层窗口
l 包括ActionBars 和Workbench页
3、ActionBars(IActionBars接口)
l 包括菜单条、工具条(或Cool工具条,IActionBars2接口)和状态条
l 这些ActionBars由对应的管理器来管理:IMenuManager、IToolBarManager、IStatusLineManager和ICoolBarManager
l 图中的Short cut bar其实是用于切换Workbench页的工具条
l IAction接口用来表示可以被用户触发的非UI的命令,通常与按钮、菜单条项目、工具条项目关联
4、Workbench页(IWorkbenchPage接口)
l 包括在Workbench窗口显示的一组Workbench部分
l 透视图(Perspectiive)是Workbench页的布局模版,用来布局Workbench页中的Workbench部分
5、Workbench部分(IWorkbenchPart接口)
l 有两种类型:视图(IViewPart接口)和编辑器(IEditorPart接口),使用扩展来创建
6、Workbench部分的生命周期
(1)Workbench部分创建时
l 实例化Workbench部分
l 创建Workbench部分的site
l 调用part.init(site)方法
(2)Workbench部分在Workbench中可见时
l 调用part.createControl(parent)方法创建实际的SWT小部件
l 触发partOpened事件
(3)Workbench部分被激活或获得焦点时
l 调用part.setFocus()方法
l 触发partActivated事件
(4)Workbench部分关闭时
l 如果需要保存,进行保存;如果失败或取消就返回
l 如果Workbench部分激活状态,则使其非激活
l 触发partClosed事件
l 移去Workbench部分的表示;Workbench部分的控件从SWT小部件树型结构中移除
l 调用part.dispose()方法(此为结束信号)
iBATIS 发布.NET版本
log4j库插件例子?《Eclipse IN ACTION》8.4节
Eclipse版本:3.0.1
Jakarta log4j版本:1.2.8
1、 创建log4j库插件
1) File > New > Plug-in Project
2) 输入工程名:org.apache.log4j
3) 插件版本改为1.2.8;插件名改为Apache Log4J;指定提供者名字;由于插件本身不需要提供代码,所以去掉创建插件类的选项
4) 点击Finish按钮,完成工程创建
5) File > Import >File System,导入log4j-1.2.8.jar,改名为log4j.jar
6) 右击工程,选择Properties
7) 选择Java Build Path > Libraries,点击Add JARs,添加log4j.jar
8) 选择Java Build Path > Order and Export,选中log4j.jar
9) 由于插件本身不需要提供代码,所以去掉build.properties中的source.log4j.jar和output.log4j.jar条目
创建后的plugin.xml和build.properties清单如下:
plugin.xml:
<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><plugin id="org.apache.log4j" name="Apache Log4J" version="1.2.8" provider-name="nelson_tu"> <runtime> <library name="log4j.jar"> <export name="*"/> </library> </runtime> </plugin>build.properties:
bin.includes = plugin.xml,\ log4j.jar
2、 附加源码
在插件中附加log4j的源代码,以便用户查看。
1) 将log4j的src/java目录下的源码打包成log4jsrc.zip
2) File > Import >File System,导入log4jsrc.zip
3) 右击log4j.jar,选择Properties
4) 选择Java Source Attachment,点击Workspace,选择log4jsrc.zip;这样,将源码关联到log4j.jar
5) 双击plugin.xml,打开清单编辑器,在build选项页的Binary Build部分选中log4jsrc.zip,将其包含到插件中
build.properties清单变动如下:
bin.includes = plugin.xml,\log4j.jar,\
log4jsrc.zip
3、 发布插件
1) File > Export
2) 选择Deployable plug-ins and fragments
3) 选择org.apache.log4j(1.2.8)插件
4) Deploy as选择a single ZIP file
5) 指定文件名为org.apache.log4j_1.2.8.zip
6) 点击Finish完成插件输出
Groovy在WebWork2中的应用
l Groovy是Java平台上一种敏捷开发语言,可以简化代码,提高编码效率
l Groovy = 50% Java代码 + 50%简化任务的开发时间
l 在WebWork2中,可以使用Groovy实现Action类来简化代码,提高编码效率
l 例子:
package web import java.util.Date import org.apache.commons.logging.Logimport org.apache.commons.logging.LogFactory import com.opensymphony.xwork.ActionSupport class GroovyAction extends ActionSupport {
protected final Log logger = LogFactory.getLog(getClass()) private String now String execute() { now = "${new Date()}" logger.info("returning view with ${now}") "success" } void setNow(String now) { this.now = now } String getNow() { now } }l 上面的Action类是Groovy类,同样扩展ActionSupport,这里要注意:
Ø execute()方法没有throws Exception语句,这是因为目前的Groovy还没有这个Java特性,这需要在以后的版本中增加;如果添加,编译会报错
Ø execute()方法返回时,不要使用类似SUCCESS的常量,而是用对应的值(如"success");如果使用SUCCESS,Groovy会把它解析成类的属性,抛异常
l 当然,在/WEB-INF/lib目录下需要包含运行以依赖的jar文件:Groovy和ASM,本人使用的是groovy-1.0-beta-7.jar和asm-1.4.3.jar(在Groovy的lib目录下)
开心一刻:读读绕口令
1、初入江湖:化肥会挥发
2、小有名气:黑化肥发灰,灰化肥发黑
3、名动一方:黑化肥发灰会挥发;灰化肥挥发会发黑
4、天下闻名:黑化肥挥发发灰会花飞;灰化肥挥发发黑会飞花
5、一代宗师:黑灰化肥会挥发发灰黑讳为花飞;灰黑化肥会挥发发黑灰为讳飞花
6、超凡入圣:黑灰化肥灰会挥发发灰黑讳为黑灰花会飞;灰 黑化肥会会挥发发黑灰为讳飞花化为灰
7、天外飞仙:黑化黑灰化肥灰会挥发发灰黑讳为黑灰花会回飞;灰化灰黑化肥会会挥发发黑灰为讳飞花回化为灰
在Java中调用Groovy方法的又一种方法:使用接口
1、定义Java接口包含在Java中需要调用的Groovy方法
public interface IFoo {