A maioria das pessoas indicam não usar DefaultTableModel, porém, no meu caso eu quero criar uma tabela vazia onde o usuário irá preencher as linhas de cada coluna existente na minha JTable.
Com o DefaultTableModel eu consigo tratar esses dados e inserir no Banco de Dados com sucesso, já no TableModel eu não consigo criar nem a tabela vazia, somente consegui cria - lá adicionando dados a partir de um ArrayList.
Neste caso(tabela vazia para o usuário digitar os dados), qual das opções eu deveria utilizar ? se caso for o TableModel, teria um exemplo ?
Eu sempre recomendo nunca, absolutamente nunca, usar o DefaultTableModel.
Sua tabela vazia que representa o que? Algum tipo de dado? Se representa um tipo de dado, então sua classe de negócios deveria ser usada para preencher a tabela, e seu model deveria validar a entrada.
E nada impede vc de inicializar seu próprio TableModel com um ArrayList vazio.
L
lucas_duzo
Então, o que eu quero é iniciar meu table vazio em uma tela Swing, onde o usuário iria digitar os dados(em cada linhs) nas suas respectivas colunas.
O que você recomendaria, iniciar meu table com array vazio, deixar as células editáveis para preenchimento e após este, pegar os dados e inserir no banco por exemplo e claro, usando o TableModel ?
Em algum post o Vini citou como motivos para não usar DefaultTableModel os seguintes:
É mais difícil que escrever seu próprio TableModel;
É mais lento (usa classes sincronizadas);
Ocupa mais espaço em memória (duplica seus dados);
Deixa o código mais confuso e difícil de manter;
Usa casts inseguros;
Força que você tenha que exibir informações desnecessárias (como o ID) na tabela, ou controlar o ID numa lista separada;
Faz a sua mulher te deixar, o leite da sua geladeira azedar, e pessoas apontarem o dedo para você na rua.
Eu acrescentaria esse:
Faz os teus filhos negarem que te conhecem na frente dos outros
G
GodZilla_XF
rapaz a coisa é seria mesmo heim, serasrserahahrhahhehahehahea, muito boas as citações…
discorpio
Boa tarde a todos.
Particularmente eu prefiro criar uma classe que herda (extende) a classe AbstractTableModel, onde a mesma permite que eu defina o meu próprio model, definindo quais os campos que serão os títulos das colunas e quais e valores serão populados dentro do model.