Pegar informações em uma linha de um jTabel

3 respostas
S

ola!!

Como não tenho muita experiência com jTable a minha dificuldade é em pegar as informações contidas em uma linha de um jtable após o clicke do mouse na linha escolhida e colocar o seu conteudo distribuido em jTextFild…ou seja se a na linha da tabela existir 3 colunas cada coluna da linha selecionada será colocada em um jTextFild especifico.
Quem puder me ajudar como pegar estas informações atravez de um evento de mouse eu agradeço.

3 Respostas

ViniGodoy

Para o click, use um ActionListener ou um SelectionChangeListener. Eu geralmente uso o primeiro.

Depois, use o método getSelectedRow() (caso sua tabela só permita uma linha selecionada por vez) ou getSelectedRows() (caso mais de uma linha possa ser selecionada) para pegar qual o índice da linha selecionada.

Finalmente, peça ao seu tablemodel o objeto que representa aquela linha. Isso deve ser muito fácil se você implementou o seu próprio TableModel, filho de AbstractTableModel.

Se você está usando o DefaultTableModel, terá que pedir os valores coluna-a-coluna, usando o método getValueAt(). Eu realmente aconselho que você estude mais sobre JTable e não use o DefaultTableModel. O código fica bagunçado e acaba dando muito mais trabalho do que implementar o seu próprio modelo.

von.juliano
É só fazer o seguinte:
int numColunas = tabela.getModel().getColumnCont();
int linhaSelecionada = tabela.getSelectedRow();

// array com o mesmo tamanho do n. de colunas da tabela
String item[] = new String[numColunas ];

for(int coluna=0; coluna < numColunas ; coluna++) {
	item[i] = tabela.getModel().getValueAt(linhaSelecionada, coluna);
	// Agora é  jogar os valores!
}
S

Agradeço muito mesmo a vcs pela ajuda…fico grato…um abraço

Criado 25 de maio de 2007
Ultima resposta 25 de mai. de 2007
Respostas 3
Participantes 3