Salut à tous,
Je m'arrache les cheveux pour comprendre les layouts et je n'arrive pas à faire des choses toutes simples, sans aucun doute par manque de connaissances.
J'ai beau lire des tutos et autres cours, j'ai besoin de poser des questions pour comprendre.
J'essaie désespérément de créer une fenêtre dans laquelle, en plein centre, je souhaite demander à l'utilisateur son login et son mot de passe. Pour l'instant, je ne m'occupe que de l'aspect visuel de la fenêtre. Je veux donc 2 "lignes" contenant chacune un label et un champ de saisie, l'une au dessus de l'autre bien sûr, et l'ensemble des composants doit être centré dans la fenêtre. Visuellement, je veux avoir quelque chose qui ressemble à ça (cf PJ n°1).
Mon problème, c'est que je ne comprends pas pourquoi j'obtiens ça (cf PJ n°2).
Voici le code de la classe Identification (soyez indulgents, je débute :p ) :
Et le code de la classe Main :
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 import javax.swing.JFrame; import javax.swing.Box; import javax.swing.JLabel; import javax.swing.JPasswordField; public class Identification extends JFrame { ///////////////////////////// //Déclaration des variables// ///////////////////////////// //Conteneurs private Box box1 = Box.createHorizontalBox(); private Box box2 = Box.createHorizontalBox(); private Box box3 = Box.createVerticalBox(); //Composants à inclure private JLabel labelId = new JLabel("Identifiant: "); private JLabel labelMdp = new JLabel("Mot de passe : "); private JPasswordField saisieId = new JPasswordField(); private JPasswordField saisieMdp = new JPasswordField(); //Constructeur public Identification() { box1.add(labelId); box1.add(saisieId); box2.add(labelMdp); box2.add(saisieMdp); box3.add(box1); box3.add(box2); //Définition des attributs de la fenêtre this.setTitle("Identification"); this.setSize(700,450); this.setContentPane(box3); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } }
Quelqu'un peut-il m'expliquer ce qui ne va pas ? Merci beaucoup.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class Main { public static void main(String[] args) { Identification identification = new Identification(); } }
Partager