テーブルモデルを使用してデータ構造からロードされる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
私はtable-modelを使用してJtableで上記のデータを表現することができました。データがDSからテーブルにロードされたら、ユーザーによる編集を許可する必要があります。ここで問題が発生します。テーブルの変更と同期したデータ構造、またはユーザーが編集を終了したらテーブルからDSを再作成し、古いものと置き換える必要があります。
さらに、データを検証する必要があります(たとえば、上記から-ユーザーが値30.1を編集したいとします。彼は、12.1から45.6までの値のみを入力できるようにする必要があります。データは文字列(ロードされた後)であるため、私は正規表現とキーリスナーを使用し、範囲内にない正規表現と値と一致しないすべてのユーザーキー押下を消費することを計画しています。これが良いアイデアであるか、または影響があるかどうかはわかりません。これについていくつかの提案を得るのが好きです。