// fields private JTable table; private DefaultTableModel dtm; private String[] columns = { "Filename", "Original size", "Compressed size", "%", "Compression type" }; private Vector columnNames = new Vector(Arrays.asList(columns)); // from the constructor dtm = new DefaultTableModel(columnNames,0); this.table = new JTable(dtm); // method public void rebuildTable() { int counter = 0; for (int i = 0 ; i < dtm.getRowCount() ; i++ ) { dtm.removeRow(i); } for (StoredFile s: sfiles ) { String[] data = { s.getName(), Integer.toString(s.getOriginalSize()), Integer.toString(s.getCompressedSize()), Integer.toString((s.getCompressedSize()/s.getOriginalSize())*100), s.getCompressorName()}; dtm.insertRow(counter,new Vector (Arrays.asList(data))); counter++; } }