Benutzerdefinierter Zellenrenderer für bestimmte Zeilen und Spalten

puuuuuuf, ich fange an, Swing zu mögen :) Ich versuche, einen CellRenderer zu schreiben, um alle Zellen außer denen, die in der ersten Zeile und in der ersten Spalte stehen, zu rendern. Also habe ich folgendes geschrieben:

public class CustomTableCellRenderer extends DefaultTableCellRenderer {
        public Component getTableCellRendererComponent(JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
            Component cell = super.getTableCellRendererComponent(table, obj, isSelected, hasFocus, row, column);

            if(row >0&&column>0){
                cell.setBackground(Color.GREEN);
            }

            return cell;
        }
    }

und setze den Renderer wie folgt:

scheduleTable.setDefaultRenderer(Object.class, new CustomTableCellRenderer()); 

Aus irgendeinem Grund wird bei einem solchen Ansatz der Renderer auf alle Zellen angewendet. Alle von ihnen sind also grün. Wenn ich etwas falsch mache, können Sie mir bitte dabei helfen?

Danke im Voraus!

ZUSATZ
scheduleTable = new JTable() {
                    @Override
                    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
                        Component comp = super.prepareRenderer(renderer, row, column);
                        int modelRow = convertRowIndexToModel(row);
                        int modelColumn = convertColumnIndexToModel(column);
                        if (modelColumn != 0 && modelRow != 0) {
                            comp.setBackground(Color.GREEN);
                        }
                        return comp;
                    }
                };  

Mit diesem Code wird auch die gesamte Tabelle grün.

Dieser Code:

scheduleTable = new JTable(tableModel) {
                    @Override
                    public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
                        Component comp = super.prepareRenderer(renderer, row, column);
                        int modelRow = convertRowIndexToModel(row);
                        int modelColumn = convertColumnIndexToModel(column);

                            if (modelRow != 0 && modelColumn != 0) {
                                setBackground(Color.GREEN);
                            } else {
                                setBackground(Color.WHITE);
                            }

                        return comp;
                    }
                };

gibt mir folgendes Ergebnis; (

Die folgenden Situationen habe ich mit differentsn im Ausdruckrow != 0 && column != 0:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage