Eaí GUJZeiros, beleza?
Bem, estou com vários problemas com JTable e acho que vou ter que criar meu próprio Model (como os moderadores sempre recomendam), pois; meu problema é o seguinte:
[code]private class MeuJTableListener implements TableModelListener{
public void tableChanged(TableModelEvent e) {
int linha = e.getFirstRow();
int coluna = e.getColumn();
DefaultTableModel dm = (DefaultTableModel)e.getSource();
dm.fireTableCellUpdated(linha, coluna);
}
}
}[/code]
Eu estou alterando o valor da Tabela, e dando um enter; porém ele dá um erro cabuloso:
Exception in thread “AWT-EventQueue-0” java.lang.StackOverflowError
at javax.swing.event.TableModelEvent.getFirstRow(TableModelEvent.java:162)
at view.TelaCadastro$MeuJTableListener.tableChanged(TelaCadastro.java:175)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:275)
at view.TelaCadastro$MeuJTableListener.tableChanged(TelaCadastro.java:180)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:275)
at view.TelaCadastro$MeuJTableListener.tableChanged(TelaCadastro.java:180)
. . .
as linhas
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:275)
at view.TelaCadastro$MeuJTableListener.tableChanged(TelaCadastro.java:180)
se repetem milhares de vezes…
Por fim, se eu REALMENTE tiver que fazer a minha TableModel, como eu faço para inicializar?
MinhaTabela tabela = new MinhaTabela(new String[] = {...}, new data = {...} )
?
Mas eu cairei num problema, pois a minha tabela é iniciada através de um método que lerá um XML, identificará usuários e irá inserir na tabela. Como fazer um método para inserir uma linha?
Obrigado!