Des JPanel dans une LFrame
Bonjour,
Toujours débutant Java, je cherche à faire une appli test comprenant 3 "panneaux" pour y incorporer des zones de saisie.
Pour commencer je teste ces panneaux.
J'ai commencé par déclarer le panneau haut, je run et apparaît ma fenêtre mais le JPanel panneauHaut prend toute la fenêtre JFrame et non l'emplacement que j'avais indiqué avec setBounds.
Je rajoute le panneau centre et là j'ai toujours ma fenêtre complète grise, et le JPanel panneauCentre s'affiche à l'emplacement du panneau haut.
Je rajoute le panneau bas pour continuer l'essai et ce JPanel s'affiche en dessous du panneau centre mais pas en bas comme voulu par setBounds.
Code:
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
|
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.BorderFactory;
public class DecritFenetre {
private JFrame fenetre;
private JPanel panneauTitre;
private JPanel panneauHaut;
private JPanel panneauCentre;
private JPanel panneauBas;
private JPanel panneauBouton;
public DecritFenetre () {
// Description fenêtre
fenetre = new JFrame("Application Test");
fenetre.setSize(1200, 700); // Taille fnêtre
fenetre.setResizable(false); // Non modifiable
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Fermeture fenêtre par click sur la croix
fenetre.setLocationRelativeTo(null); // Centrer la fenêtre par rapport à l'écran
// Description panneau haut
panneauHaut = new JPanel();
panneauHaut.setBounds(15, 40, 1160, 200); // Position et taille panneau
panneauHaut.setBorder(BorderFactory.createLineBorder(Color.BLACK)); // Bordure de couleur noire
panneauHaut.setBackground(Color.LIGHT_GRAY); // Couleur gris clair
fenetre.add(panneauHaut);
// Description panneau centre
panneauCentre = new JPanel();
panneauCentre.setBounds(15, 250, 1160, 200); // Position et taille panneau
panneauCentre.setBorder(BorderFactory.createLineBorder(Color.BLACK)); // Bordure de couleur noire
panneauCentre.setBackground(Color.LIGHT_GRAY); // Couleur gris clair
fenetre.add(panneauCentre);
// Description panneau bas
panneauBas = new JPanel();
panneauBas.setBounds(15, 470, 1160, 200); // Position et taille panneau
panneauBas.setBorder(BorderFactory.createLineBorder(Color.BLACK)); // Bordure de couleur noire
panneauBas.setBackground(Color.LIGHT_GRAY); // Couleur gris clair
fenetre.add(panneauBas);
// Affichage de la fenêtre
fenetre.setVisible(true);
}
} |
Code:
1 2 3 4 5 6 7 8 9
|
public class AppliTest {
private static DecritFenetre appliTest;
public static void main(String[] args) {
appliTest = new DecritFenetre();
}
} |
Que se passe t il ?? j'ai oublié sûrement quelque chose, mais quoi ??
Merci de vos réponses.
Cordialement.