仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1198|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA编程:JavaBean 设置联系关系属性

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:44:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。在一个Bean中设置联系关系属性的基础步骤以下:

调进java.beans包,以便会见该包中所界说的一些便利类。MyButton中的import语句的利用办法以下:

importjava.beans.*;


实例化java.beans.PropertyChangeSupport类。

privatePropertyChangeSupportchanges=new
PropertyChangeSupport(this);

MyButton创立了一个名为changes的新对象,它是PropertyChangeSupport类的实例,变量changes保留的是监听对象的汇合,一旦联系关系属性产生变更,就会关照到这些对象。该变量界说了两个撑持的办法:addPropertyChangeListener和removePropertyChangeListener,这两个办法供应了大众的接口,可让感乐趣的监听者对MyButton举行注册。


完成由PropertyChangeSupport类界说的办法。
PropertyChangeSupport类包括了增加和移往监听对象的办法,特别是PropertyChangeListener对象。AddPropertyChangeListener办法增加一个新的监听对象到表中,而removePropertyChangeListener办法则从表中移往一个监听对象。PropertyChangeSupport类也包括第三个办法:firePropertyChange,该办法把PropertyChangeEvent对象发送给感乐趣的监听者。MyButton包括的完成增加和移往监听者办法的代码以下:
注重:参数l暗示propertychangelistenerBean,该Bean能够作为注册大概移往其乐趣。

publicvoidaddPropertyChangeListener(
PropertyChangeListenerl){
changes.addPropertyChangeListener(l);
}publicvoidremovePropertyChangeListener(
PropertyChangeListenerl){
changes.removePropertyChangeListener(l);
}


修正Bean的联系关系属性的setter办法。
关于那些盘算成为联系关系属性的属性,能够修正Bean的setter办法,以便包括当属性值变更时就发送事务的代码。MyButton在每个设置新属性值的办法内挪用firePropertyChange办法。比方,当一个使用程序大概用户改动了按钮的字体时,这个举措就实行了MyButton.setFont办法。由于firePropertyChange办法关于变更了的属性的新值和旧值都必要,setFont办法起首经由过程挪用getFont办法取得旧值,以后设置新值,改动了本来的值以后,再挪用changes.firePropertyChange办法关照感乐趣的监听者。changes.firePropertyChange办法传送了三个参数:产生变更的属性名,属性的旧值,该属性的新值。

publicvoidsetFont(Fontf){
Fontold=getFont();
super.setFont(f);
sizeToFit();
changes.firePropertyChange(
"font",old,f);
}

关于firePropertyChange办法来讲,它完成了哪些事变?该办法把它的三个参数绑定到一个PropertyChangeEvent对象中。以后把PropertyChangeEvent对象作为参数,挪用propertyChange办法。把PropertyChangeEvent对象传送给每一个注册过的监听者。记着:propertyChange把属性的旧值和新值作为对象值看待。这一点很主要,假如你的属性值是个复杂范例,你就必需对该范例从头界说为对象,比方,一个复杂的整数范例,在挪用firePropertyChange之前,就要转化为java.lang.Integer。
记着:关于联系关系属性来讲,起首是属性值产生变更,以后才发送属性变更事务。


多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。
变相怪杰 该用户已被删除
沙发
发表于 2015-1-21 13:37:27 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
海妖 该用户已被删除
板凳
发表于 2015-1-25 09:54:16 | 只看该作者
是一种使用者不需花费很多时间学习的语言
老尸 该用户已被删除
地板
发表于 2015-1-27 07:41:59 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
若天明 该用户已被删除
5#
发表于 2015-2-5 02:16:00 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-7 19:02:01 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
兰色精灵 该用户已被删除
7#
发表于 2015-2-23 00:14:39 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
蒙在股里 该用户已被删除
8#
发表于 2015-2-28 10:48:14 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
若相依 该用户已被删除
9#
发表于 2015-3-9 22:41:03 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
小魔女 该用户已被删除
10#
发表于 2015-3-16 09:55:37 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
因胸联盟 该用户已被删除
11#
发表于 2015-3-22 22:09:38 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
乐观 该用户已被删除
12#
发表于 2015-3-29 15:40:38 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
柔情似水 该用户已被删除
13#
发表于 2015-4-10 22:16:32 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
只想知道 该用户已被删除
14#
 楼主| 发表于 2015-4-21 22:08:36 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
透明 该用户已被删除
15#
发表于 2015-4-22 08:29:07 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
莫相离 该用户已被删除
16#
发表于 2015-4-26 05:09:09 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
山那边是海 该用户已被删除
17#
发表于 2015-4-27 16:05:45 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
简单生活 该用户已被删除
18#
发表于 2015-6-4 17:37:24 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
小妖女 该用户已被删除
19#
发表于 2015-6-7 10:07:31 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
灵魂腐蚀 该用户已被删除
20#
发表于 2015-6-21 17:07:37 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 15:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表