Olá pessoal!
Meu método de busca de dados no BD retorna uma List. Quero colocar os dados em uma JTable. Executando o código que fiz, recebo isso:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: model.Palavras cannot be cast to java.util.Vector
Vejam o que eu fiz.
Primeiro a classe Control que recebe os dados do banco.
public List<Palavras> buscar() {
try {
palavras = new Vector<Palavras>();
PalavraDAO dao = new PalavraDAO();
palavras = dao.buscarDAO();
if (palavras == null || palavras.size() == 0) {
JOptionPane.showMessageDialog(null, "Não há dados no banco!");
} else {
JOptionPane.showMessageDialog(null, "Recebeu dados!");
}
} catch (Exception e) {
e.printStackTrace();
}
return palavras;
}
Agora a classe para exibir a tabela.
public class Tabela extends JFrame {
public Tabela(List<Palavras> pl) {
JTable tabela = new JTable();
Vector<String> col = new Vector<String>();
col.add("Palavra");
col.add("Traducao");
col.add("Idioma");
Palavras p = new Palavras();
Vector<String> v = new Vector<String>();
for (int a = 0; a < pl.size(); a++) {
p = pl.get(a);
v.add(p.getPalavra());
v.add(p.getTraducao());
v.add(p.getIdioma());
}
DefaultTableModel dtm = new DefaultTableModel(v, col);
tabela.setModel(dtm);
getContentPane().add(tabela);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
Não sei se é a melhor forma para fazer isso, se alguem puder me ajudar!
Obrigado