"Resaltar" filas específicas en un JTable
Me gustaría resaltar filas específicas en una JTable siempre que el contenido de una celda coincida con una entrada del usuario. El siguiente código es el que tengo que funciona hasta ahora:
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;
}
};
Notas:hashMapcontainer
es unhashmap
que está globalmente dentro del archivo fuente.
Ahora esto funciona hasta cierto punto sin embargo, estoy agregando estoJTable
a unJTabbedPane
eso está dentro de unJFrame
. Los JTables se crean dinámicamente a lo largo del tiempo de ejecución del programa. sin embargo, elprepareRenderer
El método hace que todas las celdas específicas en todas las JTables creadas se resalten.
¿Cómo puedo mantener celdas en todas las JTables para mantener sus propias celdas resaltadas específicas en lugar de tener todas las JTables con las mismas celdas resaltadas en cada una?
¡Gracias por adelantado!