Pessoal, gostaria de saber como faço para pegar os valores de uma célula selecionada da JTable e enviar para uma variável. Alguém tem alguma ideia de como fazer isso?
tabela.getValueAt(linha, coluna)
Esse comando requer uma linha e uma coluna fixa, e eu quero a linha e a coluna que estão selecionadas.
tabela.getValueAt(tabela.getSelectedRow(), tabela.getSelectedColumn())
Cara eu fiz um exemplo aqui com seu código mas não deu certo, agradeço desde já.
if(jTable1.getRowCount() < 1){
String li = String.valueOf(jTable1.getValueAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn()));
System.out.println("Linha: "+li);
}
Vc selecionou uma celular na tabela?
A tabela esta preenchida?
Lança alguma exceção?
pois o código esta correto.
Eu criei um comando no programa que permite que o usuário crie uma tabela com um tal número de linhas e colunas. A tabela é criada com todos os campos nulos, sendo que eu quero que ele pegue os valores da célula selecionada a qualquer momento. Como eu faço isso?
O código acima esta correto
antes de pegar o valor da celula
String li = String.valueOf(jTable1.getValueAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn()));
vc deve ter selecionado a mesma, se não os metodos “jTable1.getSelectedRow()” e “jTable1.getSelectedColumn()” vai retornar -1 e dará um erro.
se já tiver selecionado a celula, como vc criou ela com os campos nulos o comando
System.out.println("Linha: "+li);
vai imprimir no console a stringr “Linha: null”.
Eu não entendi muito bem o que você quis dizer com “vc deve ter selecionado a mesma”, pode me explicar melhor?
vc tem q dar um clic com o mouse para que a celula seja selecionada e ela vai ficar com uma cor diferenciada quando vc selecionar ela
Consegui resolver o problema, usei um evento de clique sobre a JTable.
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
int linha = jTable1.getSelectedRow();
int coluna = jTable1.getSelectedColumn();
String valor = String.valueOf(jTable1.getValueAt(linha, coluna));
System.out.println(valor);
}