Mirius
Abril 22, 2010, 5:27pm
#1
Oi Pessoal,
Sei que o uso de DefaultTableModel não é considerado uma boa prática, mas estou encucado com uma coisa, não entendo porque o código abaixo não funciona:
private void btn_novoActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel modeloTabela = (DefaultTableModel) jTable1.getModel();
modeloTabela.addRow(new String[ modeloTabela.getColumnCount() ]);
}
Dá erro (não reconhece) [color=red]DefaultTableModel[/color]
vlw!
//import javax.swing.table.DefaultTableModel;
DefaultTableModel modeloTabela = (DefaultTableModel) jTable1.getModel();
modeloTabela.setRowCount(modeloTabela.getColumnCount());
Ajudou?
Mirius
Abril 22, 2010, 11:07pm
#3
Aparece o seguinte erro:
[color=red]Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: org.jdesktop.swingbinding.JTableBinding$BindingTableModel cannot be cast to javax.swing.table.DefaultTableModel[/color]
vlw!
Mirius
Abril 22, 2010, 11:27pm
#4
Estou imaginando que problema acontece porque a jTable1 está vinculada a um banco de dados MySQL, será?
Voce não está usando DefaultTableModel.
E sim
org.jdesktop.swingbinding.JTableBinding$BindingTableModel
faça o cast para esse modelo.
Mirius
Abril 23, 2010, 12:10pm
#6
sobre este assunto, encontrei as seguintes informações em: http://forums.sun.com/thread.jspa?threadID=5306428
//BeanList is the property binded with the jtable
// code before
Beans.setBeansList(Controller.findEntities()) //<- add observablelist...
// code after:
Beans.setBeansList(org.jdesktop.observablecollections.ObservableCollections.observableList(Controller.findBeansEntities()));
mas não entendi muito bem o conceito.
Mirius
Abril 23, 2010, 1:00pm
#7
Opa, encontrei a documentação do org.jdesktop.swingbinding.JTableBinding , disponível em http://grepcode.com/file/repo1.maven.org/maven2/net.java.dev.beansbinding/beansbinding/1.2.1/org/jdesktop/swingbinding/JTableBinding.java , e estou estudando.
Ma se alguém já conseguiu inserir, excluir, editar linhas e colunas utilizando este modelo, por favor, poste alguma dica!
vlw!
Mirius
Abril 23, 2010, 7:47pm
#8
bom, não consegui utilizar org.jdesktop.swingbinding.JTableBinding para acrescentar linha, excluir, salvar, atualizar, enfim.
Tentei acrescentar uma linha pelo MySql:
Statement stmt = con.createStatement();
String sql = "INSERT INTO tbl_dados VALUES ('90003',null,null,null,null,null)";
stmt.executeUpdate(sql);
mas vem a questão: Como atualizar a jTable após o Update?
jTable.repaint();
jTable.updateUI();
É sabido que ambos não funcionam neste caso.