Como marcar a entrada da célula JTable como inválida?

Se eu fizer umaJTable e especifique o tipo de classe de uma coluna no modelo, da seguinte maneira:

   DefaultTableModel model = new DefaultTableModel(columnNames, 100) {
       @Override
        public Class<?> getColumnClass(int columnIndex) {
            return Integer.class;
        }};

Então, sempre que um usuário tentar inserir umdouble na tabela, o Swing rejeita automaticamente a entrada e define o contorno da célula para vermelh

Quero que o mesmo efeito ocorra quando alguém insere uma entrada 'negativa ou 0' na célula. Eu tenho isso:

    @Override
    public void setValueAt(Object val, int rowIndex, int columnIndex) {
       if (val instanceof Number && ((Number) val).doubleValue() > 0) {
              super.setValueAt(val, rowIndex, columnIndex);
            } 
       }
   }

Isso impede que a célula aceite valores não positivos, mas não define a cor para vermelho e deixa a célula como editáve

Tentei analisar como a JTable está fazendo a rejeição por padrão, mas não consigo encontrá-l

Como posso rejeitar a entrada não positiva da mesma forma que rejeita a entrada não inteir

Obrigad

questionAnswers(3)

yourAnswerToTheQuestion