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