Função para pegar dados de uma jTable

2 respostas
G

Oi Pessoal eu tenho uma jTable que tem uma coluna do tipo Boolean ou seja a coluna inteira é de objetos jCheckBox e eu gostaria de saber como eu poderia obter o numero das linhas que estão com esse checkbox selecionado sem ter que fazer um For comparando cada linha a um valor boolean para pegar o numero da linha.

Alguem faz idéia de como eu posso fazer isso , ja existe algum método pratico que faça isso ?

2 Respostas

T

Por que é que você não pode usar um “for”?

Sugestão: pelo jeito, parece que você vai ter de usar essa informação em vários lugares. Derive uma classe que implementa TableModel e que retorna essa informação em um método que faz o tal “for” (ou seja, conte os checkboxes preenchidos).

TiagoFoil
Eu fiz este while na minha aplicação q vai ser útil pro senhor:
// Verdadeiro quando houver algum arquivo selecionado
		boolean isSomeSelected = false;

		Object obj = new Object();

		int i = 0;

//Limpa a lista de itens selecionados.. no meu caso era uma lista de arquivos
		clearSelectedFilesList();

//Aqui vai o while que vc teria que fazer.
		while (i < table.getRowCount()) {

			// Recebe true se a caixa estiver marcada na linha de índice "i"
			// Recebe true se a caixa estiver marcada na
			// linha de índice i");
			obj = table.getValueAt(i, 0);
			if (obj instanceof Boolean) {
				Boolean isSelectedRow = (Boolean) obj;
				if (isSelectedRow) {
                                         
                                        //aqui vc coloca seu método pra adicionar 
                                        // o intem da linha à lista.
					addSelectedFilesOnList(i);
					isSomeSelected = true;// existe linhas selecionadas
				}
				i++;
			}
		}
		return aListaQueVocePreencheu;
	}
Criado 3 de novembro de 2006
Ultima resposta 3 de nov. de 2006
Respostas 2
Participantes 3