Я открываю txt-файл URL-адресов с помощью Java, сохраняю URL-адреса в списке, а затем добавляю URL-адреса и выдает коды состояния в JTable. Когда я обрабатываю txt-файл с 5 URL-адресами, результат отображается через 2 секунды. Когда у меня есть файл с 20 URL-адресами, мне приходится ждать полминуты. Я могу представить, что произойдет с 200 URL-адресами. Есть ли возможность распечатать строки в таблице последовательно, не дожидаясь конца?
private void urlsToTable(List<String> urls) {
((DefaultTableCellRenderer)urlTable.getTableHeader().getDefaultRenderer()).setHorizontalAlignment(JLabel.CENTER);
dtm.addColumn("#");
dtm.addColumn("URL");
dtm.addColumn("Status code");
dtm.addColumn("Explanation");
DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment(JLabel.CENTER);
urlTable.setRowHeight(40);
TableColumnModel columnModel = urlTable.getColumnModel();
columnModel.getColumn(0).setMaxWidth(40);
columnModel.getColumn(2).setMaxWidth(60);
columnModel.getColumn(0).setCellRenderer(centerRenderer);
columnModel.getColumn(1).setCellRenderer(centerRenderer);
columnModel.getColumn(2).setCellRenderer(centerRenderer);
columnModel.getColumn(3).setCellRenderer(centerRenderer);
int number = 1;
for (String url : urls) {
Object[] obj = new Object[4];
obj[0] = number;
obj[1] = url;
obj[2] = getResponseCode(url);
obj[3] = statusCodes.get(getResponseCode(url));
dtm.addRow(obj);
number++;
}
}