我正在重新设计我10年前基于Swing编写的基于JavaFX的等效应用程序并尝试适应新的“设计方式”的应用程序。我遇到的一个问题是设计链接数据结构,这些结构是许多JTable条目的数据模型。如果没有粗略的细节,我将提供Swing设计示例:
Class obj_X{ //Very dynamic with values changing & stored in an Array();`
String A;
Long B;
Double C;
Double D;
}
Class obj_Entry { //stored as elements in an Array() and use as a swing TableModel;
Double E;
Double F;
String G;
obj_X AssociatedObject; // some elements can be displayed in the table or
// computed e.g. this.E=F*
// (AssociatedObject.C/AsociatedObject.B);
}
Class obj_Monitor{ //stored as elements in an Array() and use as a Swing TableModel;
Double AA;
Double BB; //Computed mathmatically from AA and AssociatedObject.B
obj_X AssociatedObject; //some of the elements may be displayed in the table
}
设计的想法是在obj_X数组中维护唯一的核心数据,而后者又可用于计算/与多个JTable数据模型中的其他数据结合。
在JavaFX中为一个简单的表定义一个带有StringProperty,IntegerProperty等的类非常简单,但我目前看不到没有明确的设计而没有为obj_X设置一些更改侦听器,因此当基础元素发生变化时,它们会触发更改到包含Table的模型数据的ObservableLists。在Swing中,我通过获取新的obj_X数据,然后告诉每个表数据模型来更新其数据来控制数据模型的更新过程。我觉得在JavaFX中我正试图学习再次在Cobol中编程。哈!在此先感谢您的任何建议。与此同时,我会继续寻找解决方案!