 <p>I have faced certain issue when UI doesn't responds well one of issue was realetd with Jtable data and updating it in non swing thread. So you can try putting your code in a Swing thread,precisely in a Worker thread</p> <pre><code>SwingWorker&lt;Void, Void&gt; worker = new SwingWorker&lt;Void, Void&gt;() { @Override protected Void doInBackground() throws Exception { for (int i = 0; i &lt; table1.getRowCount(); i++) { int modelIndex = table1.convertRowIndexToModel(i); String status = table1.getModel().getValueAt(modelIndex, 9).toString(); if (status.equalsIgnoreCase("Cleared")) { deleteRow(table1, table1Model, i); } } return null; } public void deleteRow(JTable table, DefaultTableModel model, int rowNo) { try{ model.removeRow(rowNo); model.fireTableDataChanged(); table.setModel(model); }catch(ArrayIndexOutOfBoundsException |NullPointerException a){} } }; worker.execute(); </code></pre>