Estou precisando adicionar uma linha na jtable, com base onde estou clicando. Exemplo: dou clique em uma célula e se clicar no botão adicionar, ele adiciona uma linha a cima da célula onde cliquei. É possível?
Adicionar linha jtable com base no foco
6 Respostas
Inserir acima, abaixo, do lado, é tudo uma questão de como você manipula os dados para parecerer como você quer.
O que estou sugerindo?
Que você crie um table model customizado e, nele, um método adicionarLinhaVazia, que receba como parâmetro, o número da linha em questão e se quer inserir acima ou abaixo, retornando o conteúdo preenchido até uma linha antes da nova e continuando a partir da linha seguinte.
Isso dará a impressão de adição de linha no ponto que você deseja, porém, lembre-se, isso só funcionará se o número de linhas não foi muito grande.
problema q uso defaulttable e já está bem grande o projeto
no caso essa tabela vai ter umas 100 linhas com dados e sempre chega uma nova ação q é preciso colocar em uma ação já existente e para isso eu preciso adicionar essa linha em branco no meio da j table ou mais pro final… depende de onde elá vai estar
Este é o problema de se usar DTM.
Mas, mesmo com o DTM, você pode controlar o que está inserindo na JTable…
você tem alguma dica ou ideia em q eu possa usar ou pensar em fazer?
Toda Table Model, independente de ser a Default ou não, vai receber uma coleção ou um vetor com os dados que serão exibidos nesta JTable, certo?
Assim sendo, você pode controlar o que é exibido (linhas cujas células possuem valor) e o que não (linhas cujas células não possuam valor ou possuam valor default).
De qualquer forma, eu penso que essa abordagem de inserir dados direto na JTable é errado (é minha opinião e se eu fosse consultado para criar um sistema onde eu posso adicionar ou remover coisas direto na JTable, eu refutaria). Existem formulários para isso, sem contar que o ambiente desktop não é o ambiente web.