更复杂的Bean支持

我们可以看到创建一个Bean显然多么的简单。在程序设计中我们几乎不受到任何的限制。Java Bean的设计提供了一个简单的输入点,这样可以提高到更复杂的层次上。这些高层次的问题超出了这本书所要讨论的范围,但它们会在此做简要的介绍。我们可以在http://java.sun.com/beans上找到更多的详细资料。
我们增加更加复杂的程序和它的属性到一个位置。上面的例子显示一个独特的属性,当然它也可能代表一个数组的属性。这称为索引属性。我们简单地提供一个相应的方法(再者有一个方法名的命名规则)并且Introspector认可索引属性,因此我们的应用程序构建工具相应的处理。
属性可以被捆绑,这意味着它们将通过PropertyChangeEvent通知其它的对象。其它的对象可以随后根据对Bean的改变选择修改它们自己。
属性可以被束缚,这意味着其它的对象可以在一个属性的改变不能被接受时,拒绝它。其它的对象利用一个PropertyChangeEvent来通知,并且它们产生一个ProptertyVetoException去阻止修改的发生,并恢复为原来的值。
我们同样能够改变我们的Bean在设计时的被描绘成的方法:
(1) 我们可以为我们特殊的Bean提供一个定制的属性表。这个普通的属性表将被所有的Bean所使用,但当我们的Bean被选择时,它会自动地调用这张属性表。
(2) 我们可以为一个特殊的属性创建一个定制的编辑器,因此普通的属性表被使用,但当我们指定的属性被调用时,编辑器会自动地被调用。
(3)我们可以为我们的Bean提供一个定制的BeanInfo类,产生的信息不同于由Introspector默认产生的。
(4) 它同样可能在所有的FeatureDescriptors中改变“expert”的开关模式,以辨别基本特征和更复杂的特征。

时间: 2024-10-31 18:05:32

更复杂的Bean支持的相关文章

CSS3让网页更富于表现和支持更复杂布局

文章简介:CSS3 Region:基于HTML和CSS3的富页面布局. 译自:CSS3 regions: Rich page layout with HTML and CSS3中文:CSS3 Region:基于HTML和CSS3的富页面布局请尊重版权,转载请注明来源,多谢! 互联网已经成为一个提供参考.教材.新闻.文章和交互应用的大宝库了.然而,当为印刷设计内容时,一些功能显然仍然不可能或者很难使用Web标准来实现. 印刷出版物正在探索更好的方法来转换或者改变他们的内容以适应富数字格式.我们也看

azure-要想更新到更高等级的 Azure 支持计划,我该怎么做啊?

问题描述 要想更新到更高等级的 Azure 支持计划,我该怎么做啊? 真问题,求回复,求解答 谢谢 解决方案 参考这里: http://www.windowsazure.cn/support/plans/ 解决方案二: Hi, 请阅读兔子党提供的连接,如果有不明白的,请与世纪互联的支持团队联系. 您可以通过以下途径联系: 400-089-0365 010-84563652 https://windowsazure.cn/zh-cn/support/support-ticket-form/ Bes

Vb.net2008做成的软件编译完才不到1M.运行支持软件却需要220M!!不可思议!做的安装软件,需要220M左右的软件支持,太庞大了,有没有更简单更小的软件支持就可以了?

问题描述 Vb.net2008写的程序做成安装软件,在其他纯净的系统中就需要220M左右的软件支持,太庞大了,有没有更简单更小的软件支持就可以运行软件了?象.Net2005需要FrameWork2.0只有20多M,还能够接受!现在是越做越庞大了! 解决方案 解决方案二:buhuiba你从网上下载一个,netframwork就可以运行了啊解决方案三:vs.net2008会自动生成的.生成的文件在Debug文件下221M.编译设置上我只选择了包含Framework3.5.装完后看控制面板里有Fram

一个更复杂的Bean

接下的程序例子稍微复杂一些,尽管这没有什么价值.这个程序是一张不论鼠标何时移动都围绕它画一个小圆的,并且一个动作接收器被激活.画布.当按下鼠标键时,我们可以改变的属性是圆的大小,除此之外还有被显示文字的色彩,大小,内容.BangBean同样拥有它自己的addActionListener()和removeActionListener()方法,因此我们可以附上自己的当用户单击在BangBean上时会被激活的接收器.这样,我们将能够确认可支持的属性和事件: //: BangBean.java // A

超越“讲课”,给学生以更切实际的支持

听到有教程序设计入门课的老师抱怨:"现在的学生不学,布置的任务不做."当有人指出学生程序设计基础差,而暗示教程序设计的老师应该负责任时,又委屈了:"难道说我讲得不好?我如此精心地备课.讲解,学生听不明白,学不会,有什么办法?" 这个委屈可以理解,但学生没有通过这个课程学到应有的知识却也是事实.而程序设计入门的学生,诸多的坏习惯并不严重,是应该要学会的. 没有人会指责尽心教学的老师"讲得不好".但"没有教好"和"讲得不

莫湘兆:百度算法更新更重视原创 A5支持站长原创

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 今天莫湘兆分享的是最新的发现,那就是百度算法更新后更加重视原创内容,在写这篇文章的这个时候,我早两天的原创文章依旧在A5站长网的首页,<莫湘兆:浅谈原创对站长未来发展的重要性>在这篇文章中我罗列了三个方面,说明原创对于站长的重要性,这篇原创收录也非常良好,同时被其他朋友进行伪原创.在这里我更加的坚持原创,现在站长朋友们都说原创困难

打造更强的Java支持

DB2 UDB v.8.2 中 DB2 JDBC Universal Driver 的增强使开发人员得以享受令人惊奇的性能和可管理性. Linux.Unix 和 Windows 平台上的 DB2 Universal Database (UDB) version 8.2 支持很多类型的 Java 程序,包括在客户机应用程序.应用程序服务器和 DB2 UDB 服务器中使用的存储过程或用户定义函数这两种形式的程序. IBM 引入了 DB2 Universal JDBC Driver,以支持 DB2 U

如何扩展JPA Annotation以更好的支持OR Mapping

JPA 和 OpenJPA 简介 随着面向对象的数据模型被广泛应用,将面向对象的实体映射为关系数据库表项(OR Mapping)已经越来越多的出现在各类应用程序的开发设计之中.JPA(Java Persistence API)是 Sun Microssystems 公司制定的一个把 Java 数据对象映射成关系数据库对象的一 个标准.JPA 弥补了 JDBC.ORM.EJB2 等在 Java 对象持久化方面的不足之处,并且非常易 于使用.JPA 因大量使用了像 annotations 和 gen

NetBSD 7.1正式发布:支持树莓派Zero以及更好的Linux兼容性

基于BSD的NetBSD研发团队今天非常高兴的宣布NetBSD 7.1正式发布.自首个候选版本发布,NetBSD 7.1研发历时两个月时间,带来了大量BUG修复和后台性能改善.在今天的更新日志中写道:"NetBSD项目团队非常高兴的宣布NetBSD 7.1,是NetBSD 7分支的首个功能更新.出于安全和稳定的原因我们认为这些修复是非常重要的,而且我们还带来了一些新的功能和改善." NetBSD 7.1中最突出的功能就是引入了对树莓派Zero单板计算机的支持,更好的兼容Linux安装包