Bonjour,
j'aimerai savoir comment faire pour utiliser une JScrollPane avec une vertical box.

Je vous présente mon code commenté :
Code java : 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
 
private void afficher() {
	JScrollPane jsp = new JScrollPane();
	Box vbox = Box.createVerticalBox();
	recup.remplir("properties");
	/*
	 * pour chaque fichier, on recupère la clé et la valeur des propriétés
	 * on affiche la clé dans un label, et la valeur dans un JtextField
	 */
	for (int i = 0; i < recup.getAl().size(); i++) {
 
		/* le panel est utilisé pour représenter les données dans des boites, 
		 * a la façon des fieldset en html
		 */
		JPanel jp = new JPanel();
	       jp.setBorder(BorderFactory.createTitledBorder(recup.getAl().get(i)
					.getNom()));
		// on récupère la taille du LinkedHashMap, afin d'obtenir le nombre de lignes
		GridLayout gl = new GridLayout(recup.getAl().get(i).getDonnees().size(), 2);
		jp.setLayout(gl);
 
		//pour chaque élément du fichier, on crée un label et un textfield (clé non modifiable, valeur modifiable
		for(Map.Entry<String, String> entry : recup.getAl().get(i).getDonnees().entrySet() ) {
			JLabel label = new JLabel(entry.getKey());
			JTextField textField = new JTextField(entry.getValue());
			jp.add(label);
			jp.add(textField);
			//utilisé plus tard pour la modification
			arrayJt.add(textField);
		}
		//on ajoute le panel créé dans la vbox
		vbox.add(jp);
		//et ensuite on associe la vbox au scrollpane, afin qu'il se redimensionne.
		jsp.add(vbox);
	}
	recup.remplir("ihm");
	for (int i = 0; i < recup.getAlIhm().size(); i++) {
		JPanel jp = new JPanel();
	jp.setBorder(BorderFactory.createTitledBorder(recup.getAlIhm().get(i)
					.getNom()));
		GridLayout gl = new GridLayout(recup.getAlIhm().get(i).getDonnees().size(), 2);
		jp.setLayout(gl);
 
		for(Map.Entry<String, String> entry : recup.getAlIhm().get(i).getDonnees().entrySet() ) {
			JLabel label = new JLabel(entry.getKey());
			JTextField textField = new JTextField(entry.getValue());
				jp.add(label);
				jp.add(textField);
				arrayJt.add(textField);
		}
		vbox.add(jp);
		jsp.add(vbox);
	}
	recup.remplir("sw");
	for (int i = 0; i < recup.getAlSw().size(); i++) {
		JPanel jp = new JPanel();
	jp.setBorder(BorderFactory.createTitledBorder(recup.getAlSw().get(i)
					.getNom()));
		GridLayout gl = new GridLayout(recup.getAlSw().get(i).getDonnees().size(), 2);
		jp.setLayout(gl);
		for(Map.Entry<String, String> entry : recup.getAlSw().get(i).getDonnees().entrySet() ) {
			JLabel label = new JLabel(entry.getKey());
			JTextField textField = new JTextField(entry.getValue());
			jp.add(label);
			jp.add(textField);
			arrayJt.add(textField);
		 }
			vbox.add(jp);
			jsp.add(vbox);
		}
 
		JButton boutonExport = new JButton("Exporter");
		boutonExport.addActionListener(new BoutonExportListener());
 
		JButton boutonModif = new JButton("Modifier");
		boutonModif.addActionListener(new BoutonModifListener());
 
		panSud.add(boutonExport);
		panSud.add(boutonModif);
 
                container.add(panSud, BorderLayout.SOUTH);
		container.add(jsp, BorderLayout.CENTER);

Merci de votre aide