Bonjour,
je ne comprend pas quelque chose dans mon code.
A partir de la fonction actionPerformed(ActionEvent e) d'une fenêtre principale, j'ai le code suivant :
Et voici le code de ma fenêtre secondaire (FenetreAttente) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // On affiche la fenêtre d'attente pour la // recherche de l'ID dans la base de données FenetreAttente fenetreAttente = new FenetreAttente(); // On envoie le nom et le prénom et on récupère // l'ID du client (0 si le client n'existe pas) à partir de la BDD int id = gestionnaire.rechercheID(donnees); // On ferme la fenêtre d'attente quand le recherche // dans la base de données est terminée fenetreAttente.dispose(); // Cette ligne ou non, la fenêtre se ferme !
Au commentaire rouge, la fenêtre se ferme toute seule. De plus, rien ne s'affiche dans ma fenetre d'attente. Sous Vista : tout le contenu de la fenêtre d'attente n'apparait pas, tout est transparent ?!
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
73
74
75 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class FenetreAttente extends JDialog { // Un panel principal regroupant le panel de l'animation et // le panel du label private JPanel panelPrincipal = null; // Le panel de l'animation //private PanelAnimation panelAnimation = null; // Le label qui affiche le message d'attente private JLabel label = null; // Une police pour les label private Font police = null; // Le panel du label private JPanel panelLabel = null; public FenetreAttente() { // On instancie le panel de l'animation //panelAnimation = new PanelAnimation(); // On instancie le label label = new JLabel("Vérification de l'existence du client dans" + " la base de données"); // On définit une police police = new Font(null, Font.ITALIC, 12); // On associe la police au label label.setFont(police); // On associe la couleur blanche au label label.setForeground(Color.white); // On instancie le panel du label panelLabel = new JPanel(); // On associe la couleur noire au panelLabel panelLabel.setBackground(Color.black); // On ajoute le label au panelLabel panelLabel.add(label); // On instancie le panel principal panelPrincipal = new JPanel(new BorderLayout()); // On ajoute au panelPrincipal les deux JPanel //panelPrincipal.add(panelAnimation, BorderLayout.CENTER); panelPrincipal.add(panelLabel, BorderLayout.SOUTH); // On affiche tous les éléments dans la fenêtre this.getContentPane().add(panelPrincipal); // On rend la fenêtre dimensionnable en fonction des composants this.pack(); // On rend la fenêtre non redimensionnable this.setResizable(false); // On centre la fenêtre à l'écran this.setLocationRelativeTo(null); // On rend la fenêtre visible this.setVisible(true); } }
Partager