Algumas dúvidas usando JTable do NetBeans 6.9

Olá, amigos!

Uso o NetBeans para criar minha interface GUI e estou com algumas dúvidas sobre alguns probleminhas básicos que poderiam melhorar o desempenho de meu sistema.

  • Como eu faço para o foco de das células da tabela se mova horizontalmente? EX: Inseri duas linhas e digito “Conta” e aperto ENTER o foco vai para a linha de baixo e quero que vá para a célula do lado.

  • Quero apertar insert para inserir uma nova linha. Coloquei a ação KeyPressed mas nao sei onde colocar “se KeyPressed = ‘insert’ então”. Como saber qual tecla estou pressionando?

  • Como usar um campo de texto formatado em uma célula da tabela? EX Coluna valor deve ter duas casas após a vírgula

Já procurei em vários lugares mas não encontrei nada que explicasse algo parecido com o que preciso. Não são atualizações importantes, mas ajudariam muito o usuário final.

Alguém sabe como fazer alguma dessas modificações?

Voce tem a opção de colocar um KeyListener na JTable para o insert.

Para formatar ou voce faz isso no model ou então com um CellRenderer, a opção do model é a mais facil.

O KeyListener deu certo hehehe ! Obrigado! (Usei + e - pra inserir e remover linhas respectivamente, por que insert deixa ela editável e delete deleta letras :P)

Agora mudar no model para ele ter a formatação que eu quero, estou olhando a API e não vi alguma função que possa fazer isso. Preciso que uma coluna toda seja double com dois zeros após a vírgula… como se fosse um JFormattedTextField.

Vc poderia ser mais especifico, Marky?

Desculpe por tomar seu tempo com coisas tão banais.

É o famoso TableModel que é um assunto bem recorrente aqui no GUJ.

hahaha

vc nao facilitou pra mim hein marky

Mas acabei achando o que eu precisava na API em CellEditor e CellRenderer
Crio duas classes para implementar cada uma das interfaces. Sobrescrevo alguns metodos e consigo o resultado que quero e as coloco no lugar certo.

JTableParcelas.getColumnModel().getColumn(1).setCellEditor(new MeuCellEditor()); jTableParcelas.getColumnModel().getColumn(1).setCellRenderer(new MeuCellRenderer());

Obrigado por me guiar

OBS: Assim que terminar eu posto o código