„Podświetlanie” określonych wierszy w JTable

Chciałbym wyróżnić określone wiersze w tabeli JTable, gdy zawartość komórki pasuje do danych wejściowych użytkownika. Mam następujący kod, który działa do tej pory:

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;
    }
};

Uwagi:hashMapcontainer jesthashmap który ma zasięg globalny w pliku źródłowym.

Teraz to działa do pewnego stopnia, dodam toJTable do aJTabbedPane to jest w ciąguJFrame. JTables są dynamicznie tworzone przez cały czas działania programu. JednakżeprepareRenderer metoda powoduje, że wszystkie konkretne komórki we wszystkich utworzonych tabelach JT są podświetlone.

W jaki sposób mogę zachować komórki we wszystkich tabelach JT, aby zachowały swoje własne, wyróżnione komórki, zamiast mieć wszystkie JTables z dokładnie tymi samymi podświetlonymi komórkami w każdym?

Z góry dziękuję!

questionAnswers(2)

yourAnswerToTheQuestion