“Realçar” linhas específicas em um JTable

Eu gostaria de destacar linhas específicas em um JTable sempre que o conteúdo de uma célula corresponder a uma entrada do usuário. O seguinte código é o que eu tenho que funciona até agora:

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 é umhashmap que está globalmente no escopo do arquivo de origem.

Agora isso funciona até certo ponto, no entanto, estou adicionando issoJTable para umJTabbedPane que está dentro de umJFrame. JTables são dinamicamente criados durante todo o tempo de execução do programa. No entanto, oprepareRenderer O método faz com que todas as células específicas em todos os JTables criados sejam destacadas.

Como posso manter as células em todos os JTables para manter suas próprias células destacadas específicas em vez de ter todos os JTables com as mesmas células exatamente realçadas em cada um?

Desde já, obrigado!

questionAnswers(2)

yourAnswerToTheQuestion