Jtable を 1 つ作成しました。このテーブルは、名前とタイムスタンプの 2 つの列で構成されています。名前が「jane」の場合、行の色を黄色にしたい。以下はそのためのコードです:-
class CustomRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
String name = table.getModel().getValueAt(row, 0).toString();
if (name.trim().equals("jane")) {
c.setBackground(Color.YELLOW);
}
return c;
}
}
ただし、特定の名前の行の色を黄色に変更する代わりに、すべての行の色を変更しています。テーブルのデータを次のように設定しています
tableModelName = (DefaultTableModel)jTableName.getModel();
jTableName.setDefaultRenderer(Object.class,new CustomRenderer());
for(int i=0; i<records.size(); i++)
{
tableModelName.addRow(records.get(i));
}
私が間違っていることは何ですか?