我有一个使用表模型从数据结构加载的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
Run Code Online (Sandbox Code Playgroud)
以上数据格式在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
Run Code Online (Sandbox Code Playgroud)
我已经设法使用table-model在Jtable中表示上面给出的数据.一旦数据从DS加载到表我必须允许用户编辑.现在我有问题.我怀疑是否应该保留数据结构与表中的更改同步,或者我应该在用户完成编辑后从表中重新创建DS,然后将其替换为旧的DS.
更多我需要验证数据(例如从上面 - 假设用户想要编辑值30.1.他应该只允许输入12.1和45.6之间的值.因为数据表是字符串的(一旦加载)我是计划使用正则表达式和键监听器,并使用所有用户键按下与正则表达式不匹配的值和不在范围内的值.我不确定这是一个好主意还是含义.我会想得到一些建议.