我有一个 JTable,它是使用表模型从数据结构中加载的。数据结构的格式为NavigableMap<Float,NavigableMap<Float,Boolean>>
. 示例数据是:
Table Format:
Range f1,v1 f2,v2 f3,v3 f4,v4
12.1-30.2 30,true 32,false 45,true 50,false
30.2-45.6 30,true 32.4,true 45,true 50.1,true
上述数据格式在 DS 中表示为
DS Format:
Key Value
12.1 <<30,true>,<32,false>,<45,true>,<50,false>>
30.2 <<30,true>,<32.4,true>,<45,true>,<50.1,true>>
45.6 null
我已经设法使用表模型在 Jtable 中表示上述给定数据。一旦数据从 DS 加载到表中,我必须允许用户编辑。现在这是我遇到问题的地方。我怀疑是否应该保留数据结构与表中的更改同步,或者一旦用户完成编辑,我应该从表中重新创建 DS,然后用旧的替换它。
此外,我需要验证数据(例如从上面 - 假设用户想要编辑值 30.1。他应该只被允许输入 12.1 和 45.6 之间的值。由于数据表是字符串的(一旦加载)我是计划使用正则表达式和键侦听器并使用所有与正则表达式不匹配的用户按键和不在范围内的值。我不确定这是一个好主意还是有什么影响。我会想得到一些关于这方面的建议。