行ソーターを使用してテーブルを並べ替えようとしています。
RowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
cTable.setRowSorter(sorter);
DefaultTableCellRenderer を拡張するレンダラーを使用しています。レンダラーを使用して、セルの内容をその値に基づいた色でペイントしています。
cTable.setDefaultRenderer(Object.class,new <renderer name>());
例えば:
public Component getTableCellRendererComponent(JTable table, Object v,
boolean isSelected, boolean hasFocus, int row, int column)
{
super.getTableCellRendererComponent(table, v, isSelected, hasFocus,
row, column);
int k=table.getValueAt(row,column);
if (k >= 0) this.setForeground(Color.red);
}
注: これは単なるサンプル コードです。実際の機能はありません。並べ替えると、並べ替えは完全に行われますが、色を変更するレンダラー機能は行われません。以前にこの問題に直面した人はいますか?助けてください