Bonsoir à tous !

J'ai une classe principale qui contient des méthodes dont une qui me sert à charger les réservations dans une jTable. J'ai une autre classe qui fonctionne en tâche de fond via un thread et qui consulte à partir d'un URL si une nouvelle réservation est arrivée.
Tout ça fonctionne très bien mais cependant j'ai un soucis que je ne sais pas résoudre et qui est le suivant :

Une fois que ma réservation est récupérée à partir de ma classe Thread comment est ce que je peux recharger ma jTable qui est dans ma classe principale ?
Actuellement, je suis obligé de fermer et réouvrir le programme pour faire cela c'est pas l'idéal.

Voici un extrait de mon code :

La classe principale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
    public static void main(String args[]) {        
 
        /* On créé et affiche le formulaire */
        java.awt.EventQueue.invokeLater(() -> {
            BuildResa fenetre;
            try {
                fenetre = new BuildResa();
                fenetre.setVisible(true); 
                fenetre.setLocationRelativeTo(null);
 
                /** On démarre le thread pour les résas auto */
                CheckResaAuto resaAuto = new CheckResaAuto("BookingAuto");
                resaAuto.start();
 
            } catch (IOException | ParserConfigurationException | SAXException ex) {
 
            }             
        });
    }
La méthode que je veux réinvoquer pour réinitialiser ma jTable (elle se trouve dans la même classe que le code ci-dessus) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
    /** CHARGEMENT DES DONNEES CLIENT */
    @SuppressWarnings("empty-statement")
    private void LoadDataCustomer() throws SAXException, IOException, ParserConfigurationException{
 
        Document document;
        DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = builderFactory.newDocumentBuilder();
 
        document = builder.parse(new InputSource(xmlDocCustomer));                
 
        ScanCustomer = new CustomerScanner(document);
 
        ScanCustomer.visitDocument();
 
        listCustomer = ScanCustomer.getListClient();     
 
        /** Trie les clients */
        listCustomer.sort((t1, t2) -> {return t1.getLastname().compareTo(t2.getLastname());});
 
        listCustomer.stream().filter((client) -> (!client.getLastname().equals(""))).map((client) -> {
            DefaultTableModel modele3 = (DefaultTableModel)jTableClient.getModel();
            Object[] obj = new Object[4];
            obj[0] = client.getLastname();
            obj[1] = client.getFirstname();
            if(client.getType().equals("idcard")){
                obj[2] = client.getId();
            }else{
                obj[3] = client.getId();
            }
            modele3.addRow(obj);
            return modele3;
        }).map((modele3) -> {
            jTableClient.setModel(modele3);
            return modele3;
        }).forEach((_item) -> {
            jTableClient.repaint();
        });
    }
Pour finir la classe qui tourne en tâche de fond :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
public class CheckResaAuto extends Thread {
    @Override
    public void run(){        
        while(bThreadContinu) {
            try {            
                /** on marque une pause toutes les x secondes */
                sleep(6000);
 
                /** URL contenant les réservations */
                URL resaURL = new URL("http://www.xxx.fr/");
                URLConnection uc;
                uc = resaURL.openConnection();
 
                try (BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()))) {
                    String inputLine = in.readLine();
 
                    /** On écrit le texte qui a été récupéré dans un fichier avec pour extension en xml */                                                            
                    if(!inputLine.equals("NO-BOOKING")){  
                        try {
                            try {
                                WriteFileTmp(inputLine);
                            } catch (ParseException ex) {
                                Logger.getLogger(CheckResaAuto.class.getName()).log(Level.SEVERE, null, ex);
                            }
                        } catch (ParserConfigurationException | SAXException ex) {
                            Logger.getLogger(CheckResaAuto.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    }
                }
            } catch (IOException | InterruptedException ex) {
 
                /** Arrêt du thread sur erreur */
                bThreadContinu = false;
            }
        }
    }
}

En vous remerciant d'avance à tous.