智能数据使Swing保持简单 - 编程入门网
erer() 方法检索 DataObject ,并检查 price 是否低于 cost 。如果是 这样,就将背景设置为红色;否则就将背景设置为白色。当没有出现特例时,记住将背景显 式地设置成缺省颜色,这一点很重要。Swing 使用最轻量级的模式用于渲染,重复地绘制同 一个组件。如果更改了特例的标准设置而又没有为标准情况复位,那么就会产生难以预料的 结果。
清单 11. Bicycle 成本的 getTableCellRenderer()方法根据数据对单元着色
图 7. 带有 price 和 cost 背景颜色验证的表 智能数据使Swing保持简单(12)时间:2011-04-16 IBM Jonathan Simon可编辑智能数据的显示间接层(MutableIDisplay) 对于 iDisplay 实现,也存在不可修改/可修改的差异。 MutableIDisplay 负责编辑器 ,而 ImmutableIDisplay 负责渲染器。就象 ImmutableIDisplayIData 一样,有一个继承 MutableIData 且含有一个 MutableIDisplay 的 MutableIDisplayIData 。其用法同 ImmutableIDisplay 的用法相同,不同之处只是它实现的是 get[Component]CellEditor() 方法而不是 get[Component]CellRenderer() 方法。工具箱包含 JTable、JTree 和 JComboBox 的定制编辑器。 将 get[Component]CellRenderer() 和 get[Component]CellEditor() 方法转发到 iDisplay 创建了一个有用的间接层。主要结果是产生了一个定制显示设置和功能的集中的、 已封装的位置。iData 使用 iDisplay 的内涵而不是扩展,这样,除了限制了类的数目之外 还增加了灵活性和可扩展性。最为重要的是,几乎不需要定制编辑器和渲染器,它们通常包 含非常复杂的显示逻辑。虽然需要完整的定制编辑器和渲染器,但是可以使用由 iDisplay 提供的间接层来实现大多数显示。 缺陷 在实现 iData 技术时,需要记住有几个缺陷: 性能:对于大多数应用程序来说,iData 技术并没有带来显著的性能开销。该技术规定了 大量的间接而不是逻辑或处理。然而,如果 getData() / setData() 方法或 get [Component]CellRenderer() / Editor () 方法有太多逻辑,那么就会产生问题。每次绘制 组件时,就会为组件中的每一个单元调用这些方法中的任何逻辑。因此,请尽可能地使这些 方法保持简洁。 添加到代码库中的类:毫无疑问,使用 iData 技术需要相当数量的类。任何面向对象的 技术都会如此,而且这有一定好处。事实上,在这些额外的类中驻留着大量特定于应用程序 的业务 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |