Gostaria de saber se é possivel pegar um objeto de um JTable, nao preciso apenas de um atributo e sim de todo objeto contido em uma linha selecionada.
Desde ja agradeco…
Gostaria de saber se é possivel pegar um objeto de um JTable, nao preciso apenas de um atributo e sim de todo objeto contido em uma linha selecionada.
Desde ja agradeco…
Não sei se tem um jeito mais fácil, mas uma solução é pegar cada atributo da tabela e setar na classe do objeto correspondente (se ainda não tiver criado só criar).
WRONG!Essa é a maneira que se faz com DefaultTableModel. Mas NÃO FAÇA ISSO!
Olhe na minha assinatura um link que ensina como fazer seu TableModel e fazer exatamente o que voce quer.
entaum Mark…eu criei uma classe que extende AbstractTableModel…mas nao estou conseguindo pensar como poderei pegar o objeto da linha selecionada…deverei criar um metodo nessa classe neh?
Olá patrik_hi
Veja se ajuda: Você já tentou criar uma nova instância de seu objeto a partir dos campos obtidos do JTable?
No meu model eu costumo fazer isso criando um método, ex. getObjectByTable() que retorna um Object.
[]'s
como o grande Mark disse antes, o ObjectTableModel dele faz exatamente o que você quer…
você teria algo como:
MinhaClasse obj = modelo.getValue(minhaTabela.getSelectedRow());
que retornaria o objeto inteiro da linha selecionada na tabela…
É… meu TableModel faz exatamente isso, mas é interessante as pessoas entenderem como os dados vão parar na JTable através do TableModel. Depois disso seria interessante usar essa solução mais flexivel e genérica.
A maioria das pessoas quando aprendem a fazer o TableModel começam a fazer um TableModel para cada entidade que criam, depois de uns 20 isso começa ficar chato, eu escrevi meu TableModel apenas uma vez (ta demoro bastante tempo mas foi só uma vez) e uso ele para todas entidades.
entaum, eu consegui resolver o problema…atraves do que o Mark passou pelo link…a duvida ainda eh de quando eu devo utilizar metodos do AbstractTableModel e da Jtable…nao consegui abstrair ainda qual a funcao especifica dos dois…
abracos