我使用jtable来显示来自流数据馈送的数据。
每个数据点都表示为X类型的对象,它有一个感兴趣的字段,我们称之为ValueField。我对TableModel接口的实现有一个在x.getid()上键控的对象x的哈希图。
图形用户界面的用户可以使用JSpinner集作为相关列中每个单元格的自定义编辑器来更改值。
但是,该值也依赖于其他行中x.ValueField的值。
例如,我的表表示3个对象x1、x2和x3。他们的关系是:
x1.valuefield=x2.valuefield+x3.valuefield
如果用户更改x1,x2和x3中的一个保持不变(取决于业务逻辑),另一个值则更改以保持关系一致。同样,用户也可以更改x2或x3。
我应该在TableModel的实现中封装关系,还是应该扩展我的自定义表编辑器以考虑值的变化方式?
我认为这两种方法都可行,但我不确定采用哪一种方法是正确的。Sun和其他论坛的文档建议扩展自定义编辑器以控制字段的值,但它没有考虑到该值与基础数据模型的其他成员之间的关系。
任何想法都非常感谢。
奔驰