Tabela em Java Similar ao Excel!

1 resposta
javascript
L

Estou estudando java e encontrando dificuldades em manipulação de tabela, queria criar uma tabela com estilo similar ao do excel, seria isso acessível no java?

Após ler um livro e assistir alguns videos na internet consegui elaborar um sistema de cadastro de clientes e processamento de dados com bando de dados SQL, porém não consegui evoluir do sistema abaixo:

  • Text Field em brando
  • Botoes de Adicionar, editar, salvar, excluir, pesquisar e filtrar tabelas
  • tabela estática abaixo, acrescentando itens inclusos ou excluindo os dados

Quando tentei modificar para algo similar com o excel me deparei com muitas dificuldades, vou tentar detalhar abaixo:

  • Ao acionar a seta do teclado para baixo eu acrescento uma linha, porém gostaria de fazer isto somente se estiver na ultima linha da tabela, com o código abaixo se estiver na penúltima linha e apertar a seta a tabela acrescenta uma linha automaticamente, não permitindo acesso a ultima linha da tabela:

if(rowSel == (rowCou-1) & evt.getKeyCode() == KeyEvent.VK_DOWN){
   //Adiciona a linha
   TableModel model = (TableModel) tblMateriais.getModel();
   ((MaterialTableModel) model).addMaterial(mat);
    int row = tblMateriais.getRowCount()-1;
   tblMateriais.setRowSelectionInterval(row, row);
   tblMateriais.setColumnSelectionInterval(1,1);  
}

Funções que gostaria de acrescentar:

  • Ao adicionar esta linha uma coluna chamada “ID”, fosse automaticamente preenchida sequencialmente, assim que adicionar a nova linha
  • Gostaria de acrescentar uma condição de que se o usuário apertar ESC esta nova linha fosse cancelada e caso o usuário aperte novamente a seta para baixo nao fosse acrescentado uma nova linha

1 Resposta

4mega

faça um metodo no TableModel deleteRow que receba o indice da linha
Monte um evento que quando clicasse no ESC:

  • Pegue a linha selecionada jTable1.getSelectRow(); ou pegue o count total das linhas para excluir so a ultima;

  • Crie um método no TableModel public void deleteRow(int row){

  • Neste método, vc obviamente excluirá, apagando o ultimo registro e executando um dos comando de atualização da tabela.

Antes de excluir vc pode colocar condição que verifique se este registro é o que esta sendo cadastrado no momento.

Criado 18 de setembro de 2016
Ultima resposta 21 de set. de 2016
Respostas 1
Participantes 2