Como limitar número de caracteres em célula de um JTable?

Olá a todos. Gostaria de saber dos colegas como eu faço para limitar o nº de caracteres dentro de uma célula de um JTable.

Por exemplo, tenho que permitir no máximo que o usuário digite 5 caracteres dentro de uma célula.

Já pesquisei mas não encontrei nada que sanasse minha dúvida.

Grato pela atenção.

O exemplo que está no Java Tutorial é uma limitação para poder entrar só um valor de 0 até 100. Você pode mudar essa validação que ele faz para limitar para 5 caracteres, que é o que você quer.

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#validtext

Basicamente você tem de olhar os fontes TableFTFEditDemo.java e IntegerEditor.java.

Em vez disso, eu recomendaria usar o Glazed Lists, http://www.publicobject.com/glazedlists/ , porque embora ele não faça validações, ele faz todas as outras coisas que você normalmente precisa fazer com JTables.

O que já consegui fazer foi isso:

Quando eu clico com o mouse em uma célula…

private void tabelaMouseClicked(java.awt.event.MouseEvent evt) { int coluna = 1; o = tabela.getValueAt(tabela.getSelectedRow(), tabela.getSelectedColumn()); }

e no evento LostFocus da tabela…

if(o.toString().length() > 9){ JOptionPane.showMessageDialog(null, "MAior..."); System.out.println(o.toString().length()); } System.out.println("" + o);

Só que isso só funciona se eu der 2 cliques da célula… ai sim o tamanho dela é verificado.

Estava querendo que fosse verificado quando eu clucasse em outra célula qualquer.