Pessoal é o seguinte, quero preencher uma tabela com dados do BD, so que armazeno esses dados em um arrayList, quando executo o programa a tabela me fornece o primeiro contato repetido pelo numero de contatos cadastrados no BD. Segue o codigo aé.
public class Tela extends JFrame {
private static ArrayList linhasContato;
private static String[] colunas;
private JTable jTable=null;
public Tela(ArrayList linhasContato, String[] colunas) throws HeadlessException {
// TODO Auto-generated constructor stub
super();
this.linhasContato=linhasContato;
this.colunas=colunas;
initialize();
show();
}
public Tela(GraphicsConfiguration arg0) {
super(arg0);
// TODO Auto-generated constructor stub
initialize();
}
public Tela(String arg0) throws HeadlessException {
super(arg0);
// TODO Auto-generated constructor stub
initialize();
}
public Tela(String arg0, GraphicsConfiguration arg1) {
super(arg0, arg1);
// TODO Auto-generated constructor stub
initialize();
}
private Vector getProximaLinha(ArrayList rs, String[] rsmd) throws SQLException{
Vector linhaAtual=new Vector();
for (int i=0;i<rsmd.length;i++){
linhaAtual.addElement(rs.get(i));
}
return linhaAtual;
}
private void mostrarResultados(ArrayList linhasContato) throws SQLException{
Vector coluna= new Vector();
Vector linhas=new Vector();
try{
for(int i=0;i<colunas.length;i++)
coluna.addElement(colunas[i]);
for (int i=0;i<linhasContato.size();i++)
linhas.addElement(getProximaLinha(linhasContato,colunas));
jTable=new JTable(linhas, coluna);
JScrollPane jScrollPane=new JScrollPane(jTable);
getContentPane().add(jScrollPane, java.awt.BorderLayout.CENTER);
validate();
}
catch (SQLException sqlex) {sqlex.printStackTrace();}
}
private void getTable(){
try {
mostrarResultados(linhasContato);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Tela thisClass = new Tela(linhasContato,colunas);
thisClass.setVisible(true);
}
});
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
getTable();
this.setSize(350, 230);
this.setTitle("Resultado");
}
}
Esse aqui é parte do main principal:
agenda.adicionarContato(contato);
List objetos =agenda.listarContato();
ArrayList linha =new ArrayList();
for (int i=0;i<objetos.size();i++)
for(int j=0;j<3;j++){
if(objetos.get(i) instanceof ContatoTO)
linha.add(transformaEmArrayList(objetos.get(i)).get(j));
}
String[] colunas={"ID","NOME","DATA DE NASCIMENTO"};
new Tela(linha,colunas);
}
private static ArrayList transformaEmArrayList(ContatoTO contato) {
ArrayList linha = new ArrayList();
linha.add(contato.getId());
linha.add(contato.getNome());
linha.add(contato.getNascimento());
return linha;
}
Alguma sugestão?