ciao!

ho una JTable che prende i dati da un file json.
il mio problema è che quando aggiorno il file, la JTable non si aggiorna.
o meglio, si aggiorna solo quando rilancio il programma.
quando lancio l'aggiornamento faccio questo:
codice:
    public void createConnection() {
        try {
            if (CheckConnection.check()) {
                jsb.launchService("all_books");
                jsb.launchService("all_authors");
                jsb.launchService("all_editors");
                jsb.launchService("graph_authors");
                jsb.launchService("graph_editors");
                jsb.download(UrlAndPath.JSON_LIBRI);
                jsb.download(UrlAndPath.JSON_AUTORI);
                jsb.download(UrlAndPath.JSON_EDITORI);
                jsb.download(UrlAndPath.GRAPH_AUTHORS);
                jsb.download(UrlAndPath.GRAPH_EDITORS);
                riempiTable();
                riempiCombo();
                resetTxt();
                tableData.requestFocus();
            } else {
                JOptionPane.showMessageDialog(null, "No connection");
            }
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }
in pratica scarico diversi file e poi lancio il metodo che riempie la JTable (riempiTable()):
codice:
    private void riempiTable() {
        try {
            MyTableModel newModel = (MyTableModel) tableData.getModel();
            while (newModel.getRowCount() > 0) {
                newModel.removeRow(0);
            }
            ArrayList<ArrayList<String>> map = jsonRead.getAllBooks();
            map.stream().forEach((map1) -> {
                ((MyTableModel) tableData.getModel()).addRow(map1.toArray());
            });
            textCount.setText(String.valueOf(tableData.getRowCount()));
            txtQuickSearch.setEditable(true);
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }
i dati sono aggiornati, anche perchè quando riavvio il programma la JTable ha tutti i dati precisi.
qualche idea??