- 浏览: 512621 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
chimpp55:
java.lang.NoSuchMethodError: or ...
基于Junit2.0的StrutsTestCase应用 -
opmic:
<property name="srcDir& ...
使用Eclipse与Ant进行java程序开发 -
univasity:
非常好,谢谢分享。
使用Eclipse与Ant进行java程序开发 -
peanut_sei:
exception handlers 译成 例外处理 倒是第 ...
JavaScript高级应用:例外处理
richclient-application-context.xml 上一节我们说到,这个文件是整个应用程序框架的核心,现在我们就来看这个文件。
1
<bean id="petclinicLifecycleAdvisor"
class="org.springframework.richclient.samples.petclinic.PetClinicLifecycleAdvisor">
<property name="windowCommandBarDefinitions">
<value>org/springframework/richclient/samples/petclinic/ui/commands-context.xml</value>
</property>
<property name="startingPageId">
<value>ownerManagerView</value>
</property>
</bean>
PetClinicLifecycleAdvisor这个类定义在应用程序加载的特定阶段,需要执行的一些函数,我们来看一下
public class PetClinicLifecycleAdvisor extends DefaultApplicationLifecycleAdvisor {
//在窗口打开之前,执行一个setup向导
public void onPreWindowOpen(ApplicationWindowConfigurer configurer) {
super.onPreWindowOpen(configurer);
if (getApplicationServices().containsBean("setupWizard")) {
SetupWizard setupWizard = (SetupWizard)getApplicationServices().getBean("setupWizard", SetupWizard.class);
setupWizard.execute();
}
// comment out to hide the menubar, toolbar, or reduce window size...
//configurer.setShowMenuBar(false);
//configurer.setShowToolBar(false);
//configurer.setInitialSize(new Dimension(640, 480));
}
//在命令都被加载以后,执行一个loginCommand,相当于按了一下登陆按钮,才会出现登陆对话框。
public void onCommandsCreated(ApplicationWindow window) {
initializeDefaultPreferences();
ActionCommand command = window.getCommandManager().getActionCommand("loginCommand");
command.execute();
}
//初始化应用程序选项,这是每一个应用程序启动都必须,加载的配置在richclient-preference-context.xml中
private void initializeDefaultPreferences() {
PreferenceStore ps = (PreferenceStore) getApplicationServices().getBean("preferenceStore");
ps.setDefault(PetClinicAppearance.DIALOG_PAGE_TYPE, CompositeDialogPageType.TREE);
}
}
2
<bean id="applicationObjectConfigurer"
class="org.springframework.richclient.application.config.DefaultApplicationObjectConfigurer">
<constructor-arg index="0">
<ref bean="messageSource"/>
</constructor-arg>
<constructor-arg index="1">
<ref bean="imageSource"/>
</constructor-arg>
<constructor-arg index="2">
<ref bean="iconSource"/>
</constructor-arg>
</bean>
这个定义了一下需要用到的资源文件,包括文件,图标和语言文件。初学者或者从VB开发转过来的朋友要明白,把这些资源放在一个目录里面动态加载是可以提升降低程序的大小,提高程序性能的。
3
<bean id="applicationEventMulticaster"
class="org.springframework.context.event.SimpleApplicationEventMulticaster"/>
定义了事件分发的bean,用于将界面按钮的相应转给相应的command执行
4
<bean id="binderSelectionStrategy"
class="org.springframework.richclient.samples.petclinic.ui.binder.PetClinicBinderSelectionStrategy">
<property name="bindersForPropertyTypes">
<map>
<!-- <entry>
<key>
<value type="java.lang.Class">java.util.Date</value>
</key>
<bean
class="org.springframework.richclient.samples.petclinic.ui.binder.CustomDatePickerBinder"/>
</entry>-->
<entry>
<key>
<value type="java.lang.Class">
org.springframework.samples.petclinic.PetType</value>
</key>
<bean
class="org.springframework.richclient.samples.petclinic.ui.binder.PetTypeBinder">
<property name="clinic">
<ref bean="clinic"/>
</property>
</bean>
</entry>
</map>
</property>
</bean>
定义了一个select控件的数据绑定,就是在程序中添加宠物时用于选择宠物类型的。
5
<bean id="lookAndFeelConfigurer"
class="org.springframework.richclient.application.config.JGoodiesLooksConfigurer">
<property name="popupDropShadowEnabled" value="false" />
<property name="theme">
<bean class="com.jgoodies.looks.plastic.theme.ExperienceBlue"/>
</property>
</bean>
调用了jgoodies的一个皮肤
6
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>org.springframework.richclient.samples.petclinic.ui.messages</value>
<value>org.springframework.richclient.samples.petclinic.ui.preference.messages</value>
<value>org.springframework.richclient.application.messages</value>
</list>
</property>
</bean>
<bean id="imageResourcesFactory"
class="org.springframework.context.support.ResourceMapFactoryBean">
<property name="locations">
<list>
<value>classpath:org/springframework/richclient/image/images.properties</value>
<value>classpath:org/springframework/richclient/samples/petclinic/ui/images.properties</value>
</list>
</property>
<property name="resourceBasePath">
<value>images/</value>
</property>
</bean>
<bean id="imageSource"
class="org.springframework.richclient.image.DefaultImageSource">
<constructor-arg index="0">
<ref bean="imageResourcesFactory"/>
</constructor-arg>
<property name="brokenImageIndicator">
<value>images/alert/error_obj.gif</value>
</property>
</bean>
<bean id="iconSource"
class="org.springframework.richclient.image.DefaultIconSource">
<constructor-arg index="0">
<ref bean="imageSource"/>
</constructor-arg>
</bean>
定义资源文件的地点,不用多说。
7
<bean id="formComponentInterceptorFactory"
class="org.springframework.richclient.form.builder.support.ChainedInterceptorFactory">
<property name="interceptorFactories">
<list>
<bean class="org.springframework.richclient.form.builder.support.ColorValidationInterceptorFactory">
<property name="errorColor">
<value>255,245,245</value>
</property>
</bean>
<bean class="org.springframework.richclient.form.builder.support.OverlayValidationInterceptorFactory"/>
<bean class="org.springframework.richclient.text.TextComponentPopupInterceptorFactory"/>
<bean class="org.springframework.richclient.list.ComboBoxAutoCompletionInterceptorFactory">
<property name="messageSource">
<ref bean="messageSource"/>
</property>
</bean>
</list>
</property>
</bean>
为了让表单填写智能化用的三个interceptor。从名字就可以看出,
ColorValidationInterceptorFactory:错误显示灰色颜色
OverlayValidationInterceptorFactoryTextComponentPopupInterceptorFactory:文本框弹出提示
ComboBoxAutoCompletionInterceptorFactory组合框自动补完
8
<bean id="rulesSource"
class="org.springframework.richclient.samples.petclinic.domain.PetClinicValidationRulesSource"/>
数据完整性验证,例如
return all(new Constraint[] {required(), maxLength(25), regexp("[a-zA-Z]*", "alphabetic")});
9
<bean id="ownerManagerView"
class="org.springframework.richclient.application.support.DefaultViewDescriptor">
<property name="viewClass">
<value>org.springframework.richclient.samples.petclinic.ui.OwnerManagerView</value>
</property>
<property name="viewProperties">
<map>
<entry key="clinic">
<ref bean="clinic"/>
</entry>
</map>
</property>
</bean>
宠物主人管理的界面
<bean id="newOwnerWizard"
class="org.springframework.richclient.samples.petclinic.ui.NewOwnerWizard">
<property name="clinic">
<ref bean="clinic"/>
</property>
</bean>
添加宠物主人的向导
<bean id="vetManagerView"
class="org.springframework.richclient.application.support.DefaultViewDescriptor">
<property name="viewClass">
<value>org.springframework.richclient.samples.petclinic.ui.VetManagerView</value>
</property>
<property name="viewProperties">
<map>
<entry key="clinic">
<ref bean="clinic"/>
</entry>
</map>
</property>
</bean>
宠物管理界面
<bean id="setupWizard"
class="org.springframework.richclient.application.setup.SetupWizard">
<property name="licenseTextLocation">
<value>/org/springframework/richclient/samples/petclinic/license.html</value>
</property>
</bean>
开始时后的安装向导
发表评论
-
Eclipse快捷键(引用转贴)
2004-09-23 11:47 875本文档从Eclipse软件上整理,是列出了标准的快捷键,未列出 ... -
java Excel API 简介(翻译)
2004-09-23 11:49 997java Excel API 简介(翻译) 版权声明:CSD ... -
spring-richclient开发swing应用程序
2005-09-03 18:00 1963Swing桌面应用程序的开发一直以来都是Java桌面开发者心中 ... -
spring-richclient开发swing应用程序 2
2005-09-03 18:07 12371 Main函数PetClinicStandalone里面基本 ... -
spring-richclient开发swing应用程序 4
2005-09-03 18:50 1281spring-rcp里面简单到极点(相对)的就算是菜单和导航条 ... -
关于Ajaxian JSF的设计原则
2005-09-09 16:05 694目前网上大大小小的Ajax Framework已经计算不清了, ... -
Velocity学习笔记1——Velocity是什么
2006-05-23 22:38 1117Velocity是一个基于Java的模版引擎。它允 ... -
Velocity学习笔记2——Velocity能够做什么
2006-05-24 11:06 996一个 ... -
JDBMonitor全攻略:10秒为任意数据库增加执行日志功能
2006-05-16 22:34 1287JDBMonitor是一个开源项目 ... -
使用JDBMonitor剖析Hibernate的实现机制
2006-05-17 18:20 1097使用JDBMonitor剖析Hibernate的实现机制现在j ... -
Log4j和JDBMonitor的比较
2006-05-17 18:21 851Log4j和JDBMonitor的比较Log4 ... -
Apache Commons Chain简明手册
2007-05-25 01:10 3280基本对象1. 接口。它是Commons Chain中最重要的接 ... -
开始使用Commons Chain (第一部分)
2007-05-25 01:12 1199作为程序开发人员,我 ... -
在JAVA中使用文档对象模型DOM经验小结
2007-07-13 23:20 826文档对象模型 (DOM) 是一个文档标准,对于完备的文档和复杂 ... -
什么时候该用synchronized
2007-07-13 23:48 1416由于同一进程的多个线 ... -
XMLC在eclipse中的使用
2007-07-13 23:50 965关于外部插件的使用可以用link的方式做,如果简单的只把插件丢 ... -
J2EE架构学习者的6个最佳实践
2007-07-14 00:06 819虽然许多文章曾经讨论 ... -
面向Java程序员的Ajax:构建动态Java程序
2007-07-14 00:11 778Ajax(即异步 JavaScript 和 ... -
用java打包成zip
2007-08-21 11:51 1430--- 大家可能对于Zip格式的文件已经司空见惯了,我们可以使 ... -
利用java处理XML文档
2007-08-22 23:43 846在java对XML进行处理时, ...
相关推荐
Spring RichClient是一款基于Spring框架的桌面应用程序开发工具,它提供了丰富的客户端UI组件和强大的数据绑定功能,使得开发者...通过深入研究源码,你将能掌握Spring RichClient的用法,提高你的桌面应用开发技能。
Spring Rich Client Platform(SRCP)是一种基于Java Swing的客户端应用程序开发框架,它充分利用了Spring框架的强大功能,为开发者提供了构建可扩展、模块化且高性能的桌面应用的可能性。本文将详细介绍Spring Rich...
在压缩包"spring-richclient-1.0.0"中,可能包含了Spring Rich Client的源代码、API文档、示例项目和安装指南等资源。通过学习和研究这些内容,开发者可以深入了解如何使用该框架来构建自己的富客户端应用。例如,源...
然而,随着技术的发展,Spring也开始涉足桌面应用开发。在桌面应用领域,Spring可以提供类似于Web开发中的优势,如组件化、依赖管理、事务处理和数据访问等。 Spring Desktop项目,也称为Spring RCP(Rich Client ...
RCP(Rich Client Platform)是一种基于Eclipse的插件架构,用于开发rich client应用程序。RCP提供了一个完善的企业应用解决方案,包括表现层、业务逻辑层、报表、权限、日志、国际化、部署等企业应用的各个环节。 ...
本节主要介绍如何利用Spring框架结合Swing来开发图形用户界面(GUI),并通过依赖注入来增强应用程序的灵活性与可维护性。 **前提条件** - Java基础知识。 - Spring框架的基础知识。 - 对Swing有一定的了解。 **...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
RCP(Rich Client Platform)是Eclipse平台提供的一个用于构建富客户端应用程序的框架。它允许开发者利用Java语言和Swing/AWT等技术创建功能丰富、界面友好的桌面应用程序。 ##### 1.2 示例解读 本示例介绍了一个...
- SWT 通常是 Eclipse RCP(Rich Client Platform)开发的一部分,因此学习相关框架如 Eclipse RCP 或 JFace 也是有益的。 - 开源框架如 Spring 或 MyBatis 的数据绑定技术可以与 SWT Form 结合,提供更高级的数据...
如果你正在开发Eclipse Rich Client Platform (RCP) 应用程序,自定义控件可以增强应用程序的用户体验。你可以将这些控件集成到工作台视图、编辑器或其他SWT部件中。 ### 8. 性能优化 尽管SWT提供了高效的本地化...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
5. **RichClient**:探讨了SwingWeb、Echo、Flex、Laszlo System和SmartClient,这些都是创建富客户端应用的技术。 6. **JSF(JavaServer Faces)**:从初级到高级,包括SUN、IBM和Oracle的实现。 7. **脚本语言...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...