3 つの列を持つ JTable があります。
文字列、PropertyItem (カスタム クラス)、文字列
PropertyItem はテーブルに文字列として表示されますが、型は PropertyItem です。テーブルのサンプル行を次に示します。
値マスク | フォーマットの制約 | 値マスク ルール サブタイプ
テーブルのデータは、Vector を使用してフェッチされます。
List<Vector> displayedData = table_propertyDetails.getDataMatrix();
そして、次のようにテーブル データをトラバースします。
for(Vector row : displayedData) { ... }
現在、row.get(index) 関数を使用して、列 0 と 2 の String への型キャストで列データをフェッチします。PropertyItem 列については、(PropertyItem) row.get(index) として実行されます。したがって、これまでのところ問題はなく、行の通常のリスト/フェッチに問題はありません。
ここで、このテーブルの 2 番目の列 (PropertyItem) が編集されると、文字列に変わり、(PropertyItem) row.get(index) はその行のエラーを返します。
java.lang.String は com.abc.xyz.model.PropertyItem にキャストできません
データが編集されていない他のすべての行では、このキャストはエラーなしで行われますが、編集された行ではこのエラーが発生します。
この時点またはそれ以前に String を PropertyItem に変換するためにここで何ができるか考えていますか?