Tás dando um new JTable E um new TableModel dentro do loop? Pra setar o TableModel pro JTable dá só um JTable.setModel(modelo). E o new TableModel vai apagar todos os registros anteriores que tavam nele.
Podes fazer desse jeito que tás tentando, mas o aconcelhável é criar teu próprio TableModel extendendo o AbstractTableModel. Dá uma lida sobre TableModel:
Pessoal, estou com dificuldade para fazer um JTable pegar o resultado de um select da minha conexão com Oracle... O JTable deve retornar duas colunas do banco, uma nome_fil e outra empresa.
//Conexão com OracleDriverManager.registerDriver(neworacle.jdbc.driver.OracleDriver());con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.2:1521:BANCO","usuario","senha");//JTableprivateJTablegetJTable(){if(jTable==null){try{DriverManager.registerDriver(neworacle.jdbc.driver.OracleDriver());con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.2:1521:BD","user","senha");Statementstatement=con.createStatement();ResultSetrs=statement.executeQuery("select nome_fil,empresa from c_filial");while(rs.next()){Stringcod_fil=rs.getString("cod_fil");Stringempresa=rs.getString("empresa");String[]colunas=newString[]{"Código","Nome"};DefaultTableModelmodelo=newDefaultTableModel(cod_fil,empresa,colunas);modelo.addRow(newObject[]{dados});jTable=newJTable(modelo);}jTable=newJTable(dtm);}catch(SQLExceptione){JOptionPane.showMessageDialog(null,"SQLException: "+e.getMessage());}returnjTable;}