«Подсветка» определенных строк в JTable
Я хотел бы выделить определенные строки в JTable всякий раз, когда содержимое ячейки совпадает с вводом от пользователя. Следующий код - это то, что у меня работает до сих пор:
JTable table = new JTable(model) {
public Component prepareRenderer(
TableCellRenderer renderer, int row,
int column) {
Component c = super.prepareRenderer(renderer,
row, column);
if (!isRowSelected(row) ) {
c.setBackground((hashMapcontainer
.containsKey(row)) ? Color.GREEN
: getBackground());
}
return c;
}
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
Заметки:hashMapcontainer
этоhashmap
это глобально ограничено в исходном файле.
Теперь это работает до некоторой степени, однако, я добавляю этоJTable
кJTabbedPane
это в пределахJFrame
, JTables создаются динамически в течение всего времени выполнения программы. Тем не менееprepareRenderer
Метод вызывает выделение всех определенных ячеек во всех созданных JTables.
Как я могу сохранить ячейки во всех JTables, чтобы сохранить их собственные выделенные ячейки вместо того, чтобы иметь все JTables с одинаковыми точно выделенными ячейками в каждой?
Заранее спасибо!