`
文章列表
Platform: Eclipse 3.2Dialog是SWT和JFace的一个重要的组成部分,我们在开发Plug-in或RCP的时候也经常会用到它们。这篇随笔不会介绍 SWT的Dialog,因为我想很多人都已经非常熟悉它了。在这里,我要讨论的是JFace的Dialog,或者更进一步说是JFace的 TitleAreaDialog。什么是TitleAreaDialog呢?想想我们常常用到的New XX Wizard就知道了。在我们创建一个Java Project或Class的时候,我们所使用的Wizard其实就是由TitleAreaDialog构成的。这种Dialog有如下所示的 TitleAr ...
Platform: Eclipse 3.2Eclipse Plug-in开发离不开与用户的交互,我们往往把用户的鼠标点击之类动作所调用的代码包装成一个Action。例如,如果用户点击了一个Menu Item,那么绑定到这个Menu Item上的Action就会运行,这一切都很直观。但是有的时候,用户触发的操作可能需要很长时间才能完成,比如连接数据库,在这种情况下,就必须把鼠标的状态改为忙碌,这样就可以用沙漏手势提示用户当前操作正在进行,也避免了用户在等待当前操作的时候又去触发其他的操作。那么如何实现这一点呢?Eclipse有一个High-level的实现,也有一个Low-level的实现。因为后 ...
Platform: Eclipse 3.2开发任何软件都不得不处理Exception和Log,Eclipse Plug-in也是如此。不过幸运的是,Eclipse PDE提供了记录及显示Exception和Log的机制:Error Log View。作为Eclipse SDK的一部分,PDE的普及率很高,所以除非你是要做RCP,不然的话用Error Log View处理Exception和Log应该是你的最佳选择。当然,这也带来了对PDE的依赖性。使用Error Log View实际上非常简单,每个Plug-in的Activator类都有一个getLog()方法,返回一个ILog对象,这个对象就 ...
开发Eclipse Plugin的过程中,难免要用到其它的Framework或Lib,如果自己不做配置,那么Eclipse不会自动把这些jar文件作为Plugin运行的classpath,因此Plugin运行的时候就会出错。怎么办呢?假设我们使用的第三方jar文件都放置在Plugin根目 ...
我们在使用Hibernate时一般都会编写一个hibernate.cfg.xml文件,并在其中配置一些连接数据库的属性。这在很多情况下都是非常合适的,但是如果需要动态获得数据库链接信息,这种方法就不行了。假设我们要根据用户的输入信息连接响应的数据库,该怎么办呢?我们都知道,Hibernate的SessionFactory是通过Configuration获得的,hibernate.cfg.xml文件中配置很多信息都对应为Configuration的Property,因此只要可以为Configuration设置属性并添加hbm.xml信息,就可以动态的获得SessionFactory了。具体代码如下 ...
开发Eclipse Plugin的过程中,难免要用到其它的Framework或Lib,如果自己不做配置,那么Eclipse不会自动把这些jar文件作为Plugin运行的classpath,因此Plugin运行的时候就会出错。怎么办呢?假设我们使用的第三方jar文件都放置在Plugin根目 ...
我们在使用Hibernate时一般都会编写一个hibernate.cfg.xml文件,并在其中配置一些连接数据库的属性。这在很多情况下都是非常合适的,但是如果需要动态获得数据库链接信息,这种方法就不行了。假设我们要根据用户的输入信息连接响应的数据库,该怎么办呢?我们都知道,Hibernate的SessionFactory是通过Configuration获得的,hibernate.cfg.xml文件中配置很多信息都对应为Configuration的Property,因此只要可以为Configuration设置属性并添加hbm.xml信息,就可以动态的获得SessionFactory了。具体代码如下 ...
随着Web 2.0浪潮的兴起,很多传统的C/S结构的应用开始飞快地出现在互联网上。编写文档有Writely,看RSS有抓虾。这不,一个叫meebo的在线IM工具又映入了大家的眼帘,并赢得一片喝彩。meebo现在支持四种IM工具的在线聊天:AIM或ICQ、Yahoo!Messenger、Jabber或GTalk、MSN。乍一看这已经是很不错的功能了。如果你不在使用自己的电脑,而当前的电脑上又没有这些IM的客户端软件,那么meebo就帮了大忙了。但是在我看到meebo这个东东的时候,第一个想到的问题就是:我凭什么相信它?我要使用meebo登陆我的MSN,就要输入用户名和密码,那这些重要的信息不就让m ...
随着Web 2.0浪潮的兴起,很多传统的C/S结构的应用开始飞快地出现在互联网上。编写文档有Writely,看RSS有抓虾。这不,一个叫meebo的在线IM工具又映入了大家的眼帘,并赢得一片喝彩。meebo现在支持四种IM工具的在线聊天:AIM或ICQ、Yahoo!Messenger、Jabber或GTalk、MSN。乍一看这已经是很不错的功能了。如果你不在使用自己的电脑,而当前的电脑上又没有这些IM的客户端软件,那么meebo就帮了大忙了。但是在我看到meebo这个东东的时候,第一个想到的问题就是:我凭什么相信它?我要使用meebo登陆我的MSN,就要输入用户名和密码,那这些重要的信息不就让m ...
翻译自Alex Russell的Blog文章:Comet: Low Latency Data for the Browser 历史深处的一种古老的web technology正在慢慢复兴。已经多年未被触及的浏览器特性又一次登上了web开发的舞台,为UI带来了更好的响应。Server正在学习如何应付一种新的行事方法。并且,我说的不是Ajax。 像Jot Live和Meebo这样的新兴服务使用了一种新的数据传输形式,既不是传统的数据传输也不是Ajax。它们的招牌特点是数据传输的low-latency,而这种特点正变得越来越普遍。由于没有更好的术语,我把这种event-driven的、server-p ...
翻译自Alex Russell的Blog文章:Comet: Low Latency Data for the Browser 历史深处的一种古老的web technology正在慢慢复兴。已经多年未被触及的浏览器特性又一次登上了web开发的舞台,为UI带来了更好的响应。Server正在学习如何应付一种新的行事方法。并且,我说的不是Ajax。 像Jot Live和Meebo这样的新兴服务使用了一种新的数据传输形式,既不是传统的数据传输也不是Ajax。它们的招牌特点是数据传输的low-latency,而这种特点正变得越来越普遍。由于没有更好的术语,我把这种event-driven的、server-p ...
-----------------------------------------------------------------------------------------------------------------------也许我是被妈妈宠坏的孩子我任性我希望每一个时刻都像彩色蜡笔那样美丽我希望能在心爱的白纸上画画画出笨拙的自由画下一只永远不会流泪的眼睛一片天空一片属于天空的羽毛和树叶一个淡绿的夜晚和苹果我想画下早晨画下露水所能看见的微笑画下所有最年轻的没有痛苦的爱情画下想像中我的爱人她没有见过阴云她的眼睛是晴空的颜色她永远看着我永远,看着绝不会忽然掉过头去我想画下遥远的风景画下清 ...
AspectJ领导者兼Interface21首席科学家Adrian Colyer的文章还是值得一看的。Simplifying Enterprise Applications with Spring 2.0 and AspectJ把现有Web Application从一种Framework转到另一种Framework从来就不是简单的事儿,看看这位老兄的经历。Struts to Stripes - A Road Worth Traveling挺长的一篇文章,介绍了Ajax开发的常见错误和陷阱,Ajax开发人员必看。Ajax Mistakes架构师眼中的软件质量是什么样子的呢?An Architect ...
-----------------------------------------------------------------------------------------------------------------------也许我是被妈妈宠坏的孩子我任性我希望每一个时刻都像彩色蜡笔那样美丽我希望能在心爱的白纸上画画画出笨拙的自由画下一只永远不会流泪的眼睛一片天空一片属于天空的羽毛和树叶一个淡绿的夜晚和苹果我想画下早晨画下露水所能看见的微笑画下所有最年轻的没有痛苦的爱情画下想像中我的爱人她没有见过阴云她的眼睛是晴空的颜色她永远看着我永远,看着绝不会忽然掉过头去我想画下遥远的风景画下清 ...
Portal的概念风风火火地炒了好几年,确始终没有大红大紫。眼看着Ajax和Web 2.0朝自己杀来,靠Portal产品过日子的厂商们也终于按耐不住了。老牌开源Portal产品Liferay在其4.0版本中就加入了Ajax的东东,其Portlet的移动、添加和删除就是基于Ajax的。但是这远远是不够的,如果不能在产品级别更好的支持Portlet内部的Ajax,那么传统的Portal很可能会穷途末路,因为完全基于Ajax的PortalFramework已经出现了,如Light。然而无论Ajax和Web 2.0发展成什么样,有一点它是无法取代Portal的,就是Web系统的组件化乃至服务化。Port ...
Global site tag (gtag.js) - Google Analytics