Dúvida para obter o valor de uma linha do JTable

4 respostas
Pedrosa

Galera, boa tarde, estou populando uma JTable de uma lista, consigo pegar o valor dinamicamente dessa linha?, algo parecido com uma tabela em html que consigo pegar parametros com um link, ou preciso jogar um JRadioButton em cada linha para obter?

A que saudade da web!

4 Respostas

F

Use o método getSelectedRow para saber qual o indice e via Table model pegue a linha e coluna desejadas.

int x = tabela.getSelectedRow();

Object item = null;

item = tabela.getModel().getValueAt(x, 0);

Não posso testar o código agora porque estou fora do ambiente de desenvolvimento mas é por aí.

Conceitualmente cada componente do Swing tem um objeto Model correspondente.

É punk para aprender mas é muito flexivel

[]´s

Pedrosa

Valeu pela força, estou criando a minha JTable assim e preciso pegar a linha selecionada no botão ok:

public JTable createJTable() {
		ArrayList dados = new ArrayList();
		String[] colunas = new String[] { "Telefone"};
		boolean [] edicao = {false, true};
		
		// Alimenta as linhas de dados
		List lista = new ManipulaTxt().readFileTelefone(new ManipulaProperties().carregarConfiguracoes().getProperty("telefone"));
		for(Iterator iter = lista.iterator(); iter.hasNext();){
			String linha = (String)iter.next();
			dados.add(new String[] { linha});
		}	
		SimpleTableModel modelo = new SimpleTableModel(dados, colunas, edicao);
		JTable jtable = new JTable(modelo);
		jtable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                         setTable(jtable);
		return jtable;
}

//getter e setter da tabela

public void setTable(JTable tabela) {
    this.tabela = tabela;
}
public JTable getTabela() {
    return tabela;
}

//obtendo o valor no botão

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    int x = getTabela().getSelectedRow(); 
    Object item = null; 
    item = getTabela().getModel().getValueAt(x, 0);
    System.out.println("valor " + item);
}

Mas ta dando NullPointerException nessa linha:

int x = getTabela().getSelectedRow();

O que estou fazendo de errado?

Pedrosa

Resolvido, estava setando a variavel errada, 5 estrelas cara!

foxvictor

Pedrosa…
Pode me dizer como resolveu isto?
Abraços

Criado 10 de outubro de 2006
Ultima resposta 2 de jun. de 2011
Respostas 4
Participantes 3