bom dia tenho a seguinte linha que busca um código em um jtable
Integer CodLogradouro = (Integer)mod.getValueAt(tabela.getSelectedRow(), 1);
public TableRowSorter<TableModel> sorter;
ele ordena correto, mas ao clicar na linha para passar o código à um JTextField ele passa errado.
olha como está o meu ModelLogradouros.java
package model;
import db.Logradouros;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
/**
*
* @author vielmond
*/
public class ModelLogradouros extends AbstractTableModel {
private static final int COL_NOME_LOGRADOURO = 0;
private static final int COL_COD_ID = 1;
private String[] colunas = null;
private List<Logradouros> valores;
//Esse é um construtor, que recebe a nossa lista
public ModelLogradouros(List<Logradouros> valores, String[] colunas, boolean[] edicao) {
this.valores = new ArrayList<Logradouros>(valores);
setColunas(colunas);
colsEdicao = edicao;
}
public int getRowCount() {
//Quantas linhas tem sua tabela? Uma para cada item da lista.
return valores.size();
}
//Alterar o conteúdo do modelo, tem que setar também o setValueAt
private boolean[] colsEdicao;
@Override
public boolean isCellEditable(int row, int col) {
return colsEdicao[col];
// return false;
}
public String[] getColunas() {
return colunas;
}
public void setColunas(String[] strings) {
colunas = strings;
}
public int getColumnCount() {
//Quantas colunas tem a tabela?
return getColunas().length;
}
@Override
public String getColumnName(int col) {
return colunas[col];
}
public boolean removeRow(int line){
valores.remove(line);
return true;
}
public Object getValueAt(int row, int column) {
//Precisamos retornar o valor da coluna column e da linha row.
Logradouros titulo = valores.get(row);
if (column == COL_NOME_LOGRADOURO) return titulo.getNomeLogradouro();
else if (column == COL_COD_ID) return titulo.getCodLogradouro();
return ""; //Nunca deve ocorrer
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
Logradouros titulo = valores.get(rowIndex);
//Vamos alterar o valor da coluna columnIndex na linha rowIndex com o valor aValue passado no parâmetro.
//Note que vc poderia alterar 2 campos ao invés de um só.
if (columnIndex== COL_NOME_LOGRADOURO) titulo.setNomeLogradouro(aValue.toString());
else if (columnIndex== COL_COD_ID) titulo.setCodLogradouro((Integer)aValue);
}
public Class<?> getColumnClass(int columnIndex) {
//Qual a classe das nossas colunas? Como estamos exibindo texto, é string.
return String.class;
}
//Já que esse tableModel é de livros, vamos fazer um get que retorne um livro inteiro.
//Isso elimina a necessidade de chamar o getValueAt() nas telas.
public Logradouros get(int row) {
return valores.get(row);
}
}
o que está errado será?
obrigado