我有一个 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 之间的值。因为数据表是字符串的(一旦加载)我计划使用正则表达式和按键侦听器并消耗与正则表达式和不在范围内的值不匹配的所有用户按键。我不确定这是一个好主意还是有什么影响。我会希望得到一些关于这方面的建议。