Salut!

je fais une appli java dans laquelle j'ai mis une jList, j'aimerai pouvoir la faire defiler verticalement avec une scrollbar ou scrollpane ou autre, je m'en fou du moment que ça marche lol!
Je developpe sous Jbuilder 2005 Foundation et je ne suis pas une star en java!
je vous copie colle la source, a savoir:
j'ai écumé le net les truc du genre jScrollPane jscroll = new jScrollPane(majList)
ben ça marche pas!!! lol

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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.event.*;
import java.util.Vector;
 
public class InterfacePlaylistEditorPro extends JFrame {
    String vList = ""; //Permet de recuperer le chemin complet du fichier
    String vListNomExt = ""; //Permet de recuperer le nom et l'extension du fichier
    String vListNom = ""; ////Permet de recuperer le nom SANS l'extension du fichier
    int vLongueurListNomExt = 0; //Permet de connaitre le nombre de carateres du fichier avec son extension
    boolean vBoolExt = true;
 
    JPanel contentPane;
    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu jCreer = new JMenu();
    JMenu jModifier = new JMenu();
    JMenu jSupprimer = new JMenu();
    JTextField jTextnomplay = new JTextField();
    JLabel jLabelnom = new JLabel();
    JButton jButtonchoixpiste = new JButton();
    JButton jButtonsupprimerpiste = new JButton();
    JButton jButtonenregistrer = new JButton();
    JFileChooser jFileChooser1 = new JFileChooser();
    Vector valeurs = new Vector(); // le vecteur des valeurs de la liste
    JList jListSource = new JList();
    JOptionPane d = new JOptionPane();
    java.awt.GridLayout gridLayout1 = new GridLayout();
    //JScrollBar scroll = new JScrollBar(jListSource);
 
    public InterfacePlaylistEditorPro() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }
 
 
    private void jbInit() throws Exception {
 
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        this.setJMenuBar(jMenuBar1);
        setSize(new Dimension(470, 400));
        setTitle("Playlist Editor Pro v1.0");
        jCreer.setText("Créer une playlist");
        jCreer.addMouseListener(new
                                InterfacePlaylistEditorPro_jCreer_mouseAdapter(this));
 
        jModifier.setText("Modifier une playlist");
        jSupprimer.setText("Supprimer une playlist");
        jTextnomplay.setText("");
        jTextnomplay.setBounds(new Rectangle(139, 22, 221, 20));
        jLabelnom.setText("Nom de votre playlist:");
        jLabelnom.setBounds(new Rectangle(18, 23, 108, 15));
        jButtonchoixpiste.setBounds(new Rectangle(329, 115, 121, 23));
        jButtonchoixpiste.setText("Ajouter une piste");
        jButtonchoixpiste.addMouseListener(new
                                           InterfacePlaylistEditorPro_jButtonchoixpiste_mouseAdapter(this));
        jButtonsupprimerpiste.setBounds(new Rectangle(327, 157, 131, 23));
        jButtonsupprimerpiste.setText("Supprimer une piste");
        jButtonsupprimerpiste.addMouseListener(new
                                               InterfacePlaylistEditorPro_jButtonsupprimerpiste_mouseAdapter(this));
        jButtonenregistrer.setBounds(new Rectangle(337, 277, 109, 23));
        jButtonenregistrer.setText("Sauvegarder");
        jFileChooser1.setBounds(new Rectangle(10, 7, 440, 308));
        jListSource.setBounds(new Rectangle(22, 71, 211, 174));
        jListSource.setListData(valeurs);
        Font displayFont = new Font("Serif", Font.BOLD, 18);
    jListSource.setFont(displayFont);
        jListSource.setAutoscrolls(false);
        jMenuBar1.add(jCreer);
        jMenuBar1.add(jModifier);
        jMenuBar1.add(jSupprimer);
        contentPane.add(jTextnomplay, null);
        contentPane.add(jLabelnom);
        contentPane.add(jFileChooser1);
        contentPane.add(jButtonenregistrer);
        contentPane.add(jButtonsupprimerpiste);
        contentPane.add(jButtonchoixpiste);
        contentPane.add(jListSource); //      jButtonchoixpiste.setVisible(false);
        jFileChooser1.setVisible(false);
    }
 
    boolean recupext() {
        boolean vExtension = true;
        String vNomExt;
        vNomExt = vListNomExt.substring(vLongueurListNomExt - 3,
                                        vListNomExt.length());
        if ((vNomExt.equalsIgnoreCase("mp3")) || (vNomExt.equalsIgnoreCase("wma")) ||
            (vNomExt.equalsIgnoreCase("wav"))) {
            vExtension = true;
        } else {
            vExtension = false;
        }
        return vExtension;
    }
 
    public void recupinfofichier() {
        vList = jFileChooser1.getSelectedFile().getAbsolutePath(); //recuperation du chemin complet du fichier sélectionné
        vListNomExt = jFileChooser1.getSelectedFile().getName().toString(); //récupération du nom.extension
        vLongueurListNomExt = vListNomExt.length(); //récupération de la longueur du nomdefichier.extension
        vListNom = vListNomExt.substring(0, vLongueurListNomExt - 4); //vListNom recuperer le nom de fichier seulement
        vBoolExt = recupext();
        if (vBoolExt == true) {
            valeurs.addElement(vListNom); //ajout des nom de fichier dans la liste
        } else {
            d.showMessageDialog(jFileChooser1, "Vous devez sélectionner une fichier MP3, WMA ou WAV", "Erreur!",
                                JOptionPane.ERROR_MESSAGE);
        }
 
        jListSource.setListData(valeurs); // sinon le Vecteur n'est plus associé à la ListSource?
    }
 
    public void jCreer_mousePressed(MouseEvent e) {
        //affichage des composants
        jTextnomplay.setVisible(true);
        jLabelnom.setVisible(true);
        jButtonchoixpiste.setVisible(true);
        jButtonsupprimerpiste.setVisible(true);
        jButtonenregistrer.setVisible(true);
        jFileChooser1.setVisible(false);
    }
 
///////////////////////////////////////////////////////OUVERTURE DES FICHIERS/////////////////////////////////
    public void jButtonchoixpiste_mousePressed(MouseEvent e) {
        jFileChooser1.setVisible(true); //rendre visible la fenetre de sélection de fichiers quand clic sur Ajout Piste
        jFileChooser1.setApproveButtonText("Choisir"); //Marquer "Choisir" sur le bouton de la fenetre
        jFileChooser1.setFileSelectionMode(JFileChooser.FILES_ONLY); //Pour ne choisir que des fichiers
 
        if (jFileChooser1.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
            recupinfofichier(); //procédure récupérant les chemins absolu et non de fichier.extension
        }
    }
 
    //System.out.println(jListSource.getComponentCount());
    //System.out.println(jListSource.getComponent(0));
    //jListSource.setBackground(Color.RED);
    // jFileChooser1.setAcceptAllFileFilterUsed(false); //Pour empecher de pouvoir selectionner tous les types de fichier
    // FileFilter imagesFilter = new FileNameExtensionFilter("Images", "bmp", "gif", "jpg", "jpeg", "png");
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
    public void jButtonsupprimerpiste_mousePressed(MouseEvent e) {
        int vIndex;
        vIndex = jListSource.getSelectedIndex(); //récupération du numéro d'index de l'élément selectionné
        valeurs.removeElementAt(vIndex); //supprime de la liste l'element sélectionné (ayant le numéro d'index)
        jListSource.setListData(valeurs); // sinon le Vecteur n'est plus associé à la ListSource?
 
    }
 
}
 
 
class InterfacePlaylistEditorPro_jButtonsupprimerpiste_mouseAdapter extends
        MouseAdapter {
    private InterfacePlaylistEditorPro adaptee;
    InterfacePlaylistEditorPro_jButtonsupprimerpiste_mouseAdapter(
            InterfacePlaylistEditorPro adaptee) {
        this.adaptee = adaptee;
    }
 
    public void mousePressed(MouseEvent e) {
        adaptee.jButtonsupprimerpiste_mousePressed(e);
    }
}
 
 
class InterfacePlaylistEditorPro_jButtonchoixpiste_mouseAdapter extends
        MouseAdapter {
    private InterfacePlaylistEditorPro adaptee;
    InterfacePlaylistEditorPro_jButtonchoixpiste_mouseAdapter(
            InterfacePlaylistEditorPro adaptee) {
        this.adaptee = adaptee;
    }
 
    public void mousePressed(MouseEvent e) {
        adaptee.jButtonchoixpiste_mousePressed(e);
    }
}
 
 
class InterfacePlaylistEditorPro_jCreer_mouseAdapter extends MouseAdapter {
    private InterfacePlaylistEditorPro aAdaptee;
    InterfacePlaylistEditorPro_jCreer_mouseAdapter(InterfacePlaylistEditorPro
            eAdaptee) {
        aAdaptee = eAdaptee;
    }
 
    public void mousePressed(MouseEvent e) {
        aAdaptee.jCreer_mousePressed(e);
    }
}