Bonjour a tous, je débute en java et j'ais une application qui quand elle se lance execute plusiseurs longues taches avant d'être au repos.
Le problème c'est que ma jframe ne s'affiche q'une fois que mes longues fontions sont terminées alors que mes longues taches mettent à jours des labels et que j'aimerais voir la mise à jour des labels.
J'ai donc été voir dans la fac pour voir ce qu'il y avait sur les threads.
J'ai vu qu'il y avait la possiblité de mettre un thread dans une même classe sans avoir à en faire 2 en implémentant java.lang.Runnable.
Mais le problème c'est que la fac ne fait que citer cette option et ne la développe pas...
J'aimerais donc savoir comment faire !
PS : Voici la forme de ma classe :
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 public class majframe extends javax.swing.JFrame { /** Creates new form frame_recherche_hd */ public majframe(frame_main frame) { gui_accueil = frame; initComponents(); //On initialize la langue initLanguage(); //On initialize les options initOptions(); //On rend la frame visible this.setVisible(true); /*********************** Comment lancer les 2 fonctions suivantes dans un thread ? ********************/ MaGrosseFonctionLongue1(); MaGrosseFonctionLongue2(); /*********************** Comment lancer les 2 fonctions précédentes dans un thread ? ********************/ } private void MaGrosseFonctionLongue1(){ .... } private void initOptions(){ .... } private void MaGrosseFonctionLongue2(){ .... } private void initLanguage(){ .... } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code "> private void initComponents() { .... //GENERE PAR NETBEANS }// </editor-fold> private frame_main gui_accueil; // Variables declaration - do not modify private javax.swing.JButton bt_cancel; private javax.swing.JButton bt_ok; ..... // End of variables declaration }
Je vous remercis d'avance pour votre aide
Le but final étant que ma Jframe se charge sans difficulté dès le début, que mes fonctions s'éxécute dans un thread sachant que dans ses fonctions des labels sont mis à jour et donc que la mise à jour des label soit visible en temps réel...
Partager