Bonjour à tous,

Je suis débutant en Java et j'ai un gros problème avec la vue de mon programme. Je pensais utiliser plusieurs panel pour agencer les différents éléments et finalement utiliser un EmptyBorder pour déplacer les panels pour qu'ils soient tous visible.

Mais apparement l'EmptyBorder fabrique du vide et ne permet pas de voir le Panel qui se trouve en dessous (comme si on avait plusieurs calques qui se superposent).

Voici ce qui apparait sur mon écran:


Il devrait y avoir un autre panel entre les lettres et le JTextArea avec marqué "nombre d'essai restant". Et encore un autre panel sous les lettres avec un JButton REJOUER.

Voici mon code:

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
   import java.awt.*;
   import javax.swing.*;
   import java.awt.event.*;
 
    public class VueDuJeu extends JFrame
   {
     //--Le constructeur
       VueDuJeu()
      {
      		//Paramètre de la fenêtre
         setSize(300, 500);
         setTitle("Fenêtre");
                  // creation des JLabel
         JLabel EssaiRestant = new JLabel("                       nombre d'essai restant: ");
         JLabel nbEssai = new JLabel("11");
         JLabel leMotARechercher = new JLabel("************");
          		//Alignement centré
         leMotARechercher.setAlignmentX(Component.CENTER_ALIGNMENT);
         //Creation de la zone de texte
         JTextArea laPotence = new JTextArea(300,235);
          //Creation d'un premier panneau
         JPanel pane1 = new JPanel(new BorderLayout());
         //Taille de pane2
         pane1.setSize(300,235);
         //Insertion des du JLabel leMotARechercher et du JTextArea laPotence
         pane1.add(leMotARechercher);
         pane1.add(laPotence);
         //Creation d'un deuxième panneau
         JPanel pane2 = new JPanel(new BorderLayout());
        //Taille de pane2
         pane2.setSize(300,235);
         //Création d'une bordure pour que les panels ne se superposent pas
         pane2.setBorder(BorderFactory.createEmptyBorder(250,0,0,0));  
         //Insertion du JLabel EssaiRestant et du JLabel nbEssai
         pane2.add(EssaiRestant);
         pane2.add(nbEssai);
         //Creation d'un troisième panel
         JPanel pane3 = new JPanel(new BorderLayout());
         pane3.setSize(150,150);
         pane3.setLayout(new GridLayout(6,5,1,2));
         pane3.setBorder(BorderFactory.createEmptyBorder(260,0,0,0)); 
         //Creation des boutons
         JButton A = new JButton("A");
         JButton B = new JButton("B");
         JButton C = new JButton("C");
         JButton D = new JButton("D");
         JButton E = new JButton("E");
         JButton F = new JButton("F");
         JButton G = new JButton("G");
         JButton H = new JButton("H");
         JButton I = new JButton("I");
         JButton J = new JButton("J");
         JButton K = new JButton("K");
         JButton L = new JButton("L");
         JButton M = new JButton("M");
         JButton N = new JButton("N");
         JButton O = new JButton("O");
         JButton P = new JButton("P");
         JButton Q = new JButton("Q");
         JButton R = new JButton("R");
         JButton S = new JButton("S");
         JButton T = new JButton("T");
         JButton U = new JButton("U");
         JButton V = new JButton("V");
         JButton W = new JButton("W");
         JButton X = new JButton("X");
         JButton Y = new JButton("Y");
         JButton Z = new JButton("Z");
         JButton Rejouer = new JButton("REJOUER");
 
         pane3.add(A);
         pane3.add(B);
         pane3.add(C);
         pane3.add(D);
         pane3.add(E);
         pane3.add(F);
         pane3.add(G);
         pane3.add(H);
         pane3.add(I);
         pane3.add(J);
         pane3.add(K);
         pane3.add(L);
         pane3.add(M);
         pane3.add(N);
         pane3.add(O);
         pane3.add(P);
         pane3.add(Q);
         pane3.add(R);
         pane3.add(S);
         pane3.add(T);
         pane3.add(U);
         pane3.add(V);
         pane3.add(W);
         pane3.add(X);
         pane3.add(Y);
         pane3.add(Z);
      	          //Creation d'un premier panneau
         JPanel pane4 = new JPanel(new BorderLayout());
         //Taille de pane4
         pane4.setSize(93,300);
         pane4.add(Rejouer);
         pane4.setBorder(BorderFactory.createEmptyBorder(200,0,0,0)); 
         // Ajout du panneau dans la fenetre, aligné au centre
         getContentPane().add(pane1,BorderLayout.CENTER);
         //Utiliser un BoxLayout pour le pane1 pour aligner verticalement les composants
         pane1.setLayout(new BoxLayout(pane1, BoxLayout.Y_AXIS));
         // Ajout du panneau dans la fenetre, aligné au centre
         getContentPane().add(pane2,BorderLayout.CENTER);
          //Utiliser un BoxLayout pour le pane2 pour aligner verticalement les composants
         pane2.setLayout(new BoxLayout(pane2, BoxLayout.X_AXIS));
          // Ajout du panneau dans la fenetre, aligné au centre
         getContentPane().add(pane3,BorderLayout.CENTER);
         //Utiliser un BoxLayout pour le pane2 pour aligner verticalement les composants
         //pane4.setLayout(new BoxLayout(pane4, BoxLayout.X_AXIS));
         //getContentPane().add(pane4,BorderLayout.CENTER);
         //Affichage de la fenêtre
         setVisible(true);
      }
   }
Merci de bien vouloir m'aider. Je ne sais pas comment me débrouiller pour réagencer mes panels. Peut-être n'utiliser que 2 panels dans la mesure du possible?