私はまだかなりJavaに慣れていて、JTable(特にJXTable)に関する質問があり、データ型が混在した列クラスで行をソートしています...JTable列をStringとして設定し、Doubleとしてソートする方法は?
私はJXTable商品リストのデータを保持するこのテーブルには価格の列があり、String.classに設定したのは、前に '$'を付けて価格を表示できるようにするためだけです。
私がいる問題は行が価格でソートされるとき、それらはダブルスとしてソートされるのではなく、それらは、これらの値ので、文字列としてソートされている。
89.85、179.70、299.40、478.80
は次のようにソートされています
179.70、299.40、478.80、89.85(昇順) と 89.85、478.80、299.40、179.70(降順)
私がやりたい何がで '$' を削除しています列をソートしてソートするときの時間。どうすればこれを達成できますか?
EDIT:
あなたの応答のために非常に多くの智異山Patera、ありがとうございました。 tablecellrendererがこれらのタイプの状況で値を操作する責任があることを理解する助けになる大きな助けとなりました。以下は最終的に私が欲しいものを達成した完成した抜粋です。
ご覧のとおり、私はすでにカスタムtablecellrendererを持っていました。 DecimalFormatを使用して、希望する価格をフォーマットしました。
これは今後誰かを助けてくれることを願っています。
列クラスString型ではなく数値型にします。代わりに、セルレンダラーが "$"記号を示すNumberFormat/currencyインスタンスを使用するようにします。 –