关于作者

笔名:nelson_tu
地区: 未填
作者相册

日历 

快速登录

+ 用户名:
+ 密 码:

在线留言

友情Blog

XML

Workflow和BPM

Portals

Blog

Groovy

Wicket

Avalon

RDF

XUL

SOA

Keel

Python

Maven

MDA

AOP

Rule Engine

JSF

Eclipse

WebWork2

Hibernate

XDoclet

SpringFramework

Open Source

iBATIS

访问统计:15367


开源Java项目

 

Keep it simple, Stupid,Less is more.
提供开源Java项目的共享信息,与Java爱好者共同学习和切磋。
CSDN同步blog >>
近期推出
1、RCP实例:一个简单的文件浏览器
2、Groovy基础教程
3、Spring的持久化集成:iBatis

日志

感谢支持!
感谢关心和支持本blog的所有人!
您可以访问 http://blog.csdn.net/chenyun2000 来关注本人更多的blog文章!

- 作者: nelson_tu 2004年10月21日, 星期四 09:18  回复(0) |  引用(0)

特别声明
由于本blog系统改版以后,感觉不是很稳定,界面排版也有些问题,再加上一些言语限制太严,所以,经过考虑决定,以后不再发布更多的文章。
你可以访问我的CSDN blog:

- 作者: nelson_tu 2004年10月10日, 星期日 22:53  回复(1) |  引用(0)

Eclipse Workbench UI

(注:上图是Eclipse 2.1.x版本的UI的组成分解,Eclipse 3.0.x版本的UI组成和Eclipse 2.1.x一样的,只是界面风格有所变化)

 

1WorkbenchIWorkbench接口)

l         Eclipse平台UI的根对象

l         包括一组Workbench窗口

 

2Workbench窗口(IWorkbenchWindow接口)

l         Eclipse平台UI中最顶层窗口

l         包括ActionBars Workbench

 

3ActionBarsIActionBars接口)

l         包括菜单条、工具条(或Cool工具条,IActionBars2接口)和状态条

l         这些ActionBars由对应的管理器来管理:IMenuManagerIToolBarManagerIStatusLineManagerICoolBarManager

l         图中的Short cut bar其实是用于切换Workbench页的工具条

l         IAction接口用来表示可以被用户触发的非UI的命令,通常与按钮、菜单条项目、工具条项目关联

 

4Workbench页(IWorkbenchPage接口)

l         包括在Workbench窗口显示的一组Workbench部分

l         透视图(Perspectiive)是Workbench页的布局模版,用来布局Workbench页中的Workbench部分

 

5Workbench部分(IWorkbenchPart接口)

l         有两种类型:视图(IViewPart接口)和编辑器(IEditorPart接口),使用扩展来创建

l         可以有自己私有的ActionBars(其中状态条与父窗口共享),还可以拥有弹出菜单

l         IWorkbenchPartSite接口是Workbench部分和Workbench之间的中间接口,对应视图和编辑器,扩展了IViewSiteIEditorSite接口,用来获得上级容器,如Workbench页、Workbench窗口,以及私有的ActionBars、弹出菜单等

l         Workbench部分内部由SWT小部件组成,使用指定的布局方式进行布局

 

6Workbench部分的生命周期

1Workbench部分创建时

l         实例化Workbench部分

l         创建Workbench部分的site

l         调用part.init(site)方法

2Workbench部分在Workbench中可见时

l         调用part.createControl(parent)方法创建实际的SWT小部件

l         触发partOpened事件

3Workbench部分被激活或获得焦点时

l         调用part.setFocus()方法

l         触发partActivated事件

4Workbench部分关闭时

l         如果需要保存,进行保存;如果失败或取消就返回

l         如果Workbench部分激活状态,则使其非激活

l         触发partClosed事件

l         移去Workbench部分的表示;Workbench部分的控件从SWT小部件树型结构中移除

l         调用part.dispose()方法(此为结束信号)

- 作者: nelson_tu 2004年10月8日, 星期五 16:30  回复(0) |  引用(0)

iBATIS 发布.NET版本
2004年10月4日,iBATIS Team发布iBATIS 2.0.7版本。
同时还发布了iBATIS .NET 1.0.0 ,这是第一个跨平台的持久层解决方案。
同样也提供了相应的Demo程序:NPetShop 1.0

- 作者: nelson_tu 2004年10月8日, 星期五 10:15  回复(2) |  引用(0)

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.jaroutput.log4j.jar条目

创建后的plugin.xmlbuild.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)        log4jsrc/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完成插件输出

- 作者: nelson_tu 2004年10月8日, 星期五 00:16  回复(0) |  引用(0)

Groovy在WebWork2中的应用

l         GroovyJava平台上一种敏捷开发语言,可以简化代码,提高编码效率

l         Groovy = 50% Java代码 + 50%简化任务的开发时间

l         WebWork2中,可以使用Groovy实现Action类来简化代码,提高编码效率

l         例子:

package web
 
import java.util.Date
 
import org.apache.commons.logging.Log
import 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");如果使用SUCCESSGroovy会把它解析成类的属性,抛异常

l         当然,在/WEB-INF/lib目录下需要包含运行以依赖的jar文件:GroovyASM,本人使用的是groovy-1.0-beta-7.jarasm-1.4.3.jar(在Groovylib目录下)

- 作者: nelson_tu 2004年09月30日, 星期四 20:47  回复(0) |  引用(0)

开心一刻:读读绕口令

1、初入江湖:化肥会挥发 

 2、小有名气:黑化肥发灰,灰化肥发黑      

 3、名动一方:黑化肥发灰会挥发;灰化肥挥发会发黑    

 4、天下闻名:黑化肥挥发发灰会花飞;灰化肥挥发发黑会飞花 

 5、一代宗师:黑灰化肥会挥发发灰黑讳为花飞;灰黑化肥会挥发发黑灰为讳飞花 

 6、超凡入圣:黑灰化肥灰会挥发发灰黑讳为黑灰花会飞;灰 黑化肥会会挥发发黑灰为讳飞花化为灰 

 7、天外飞仙:黑化黑灰化肥灰会挥发发灰黑讳为黑灰花会回飞;灰化灰黑化肥会会挥发发黑灰为讳飞花回化为灰

- 作者: nelson_tu 2004年09月29日, 星期三 22:24  回复(7) |  引用(0)

在Java中调用Groovy方法的又一种方法:使用接口

1、定义Java接口包含在Java中需要调用的Groovy方法

public interface IFoo {