JTable (NOVO)  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
marthian_2
JavaBaby
[Avatar]

Membro desde: 24/09/2007 12:44:38
Mensagens: 92
Offline

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<ContatoTO> 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?

This message was edited 1 time. Last update was at 20/10/2007 13:12:57

[MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Crie o seu próprio TableModel, filho de AbstractTableModel.

Antes disso, manipular tables é uma tarefa muito difícil.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team