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