Java - Swing -- Probléme avec une JScrollPane pour un objet Jlist

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Me voilà un peu bloqué, je souhaiterais que ma Jlist dispose d’une scrollBard verticale sur le côte. Voir exemple ci-dessous : Image utilisateur

Hors avec le code que j’ai (Rien ne s’affiche) :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
frame = new JFrame();
frame.setBounds(100, 100, 641, 723);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);

listModel = new DefaultListModel();
listModel.addElement("Jane Doe");
listModel.addElement("John Smith");
listModel.addElement("Kathy Green");
listModel.addElement("test");
listModel.addElement("Ktest1");
listModel.addElement("tet2");
listModel.addElement("test3");
listModel.addElement("test4");

JList list = new JList(listModel);
list.setBounds(286, 222, 253, 114);
JScrollPane scrollPane = new JScrollPane(list);
frame.getContentPane().add(scrollPane );

A noter : Si je remplace dans le add "scrollpan" par "list" la liste s’affiche bien.

Merci de votre aide :)

+0 -0

Le problème est que tu ne mets pas de Layout à ta fenêtre. Comment est-elle censée gérer les positionnements ?

Remplacer par frame.getContentPane().setLayout(new BorderLayout()); devrait faire l’affaire.


Ça n’a rien à voir avec ton problème, mais ça me chagrine un peu.

Essaie de préciser les types de tes objets, l’inférence automatique, c’est bien; mais éviter la magie noire, c’est mieux ! (J’exagère, mais c’est assez recommandé pour éviter des bugs venus de l’espace)

Si tu sais que tu manipules des String, précise-le.

Alors je me suis inspiré de ce que tu m’a dit. (ça ne fonctionné pas)

Mais j’ai résolu le problème en ajoutant un JPanel + un layout dans celui-ci puis j’ai ajouté le scrollPan dans le panel.

Voici le code utilisé :

 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
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);


        JPanel panel = new JPanel();
        panel.setBounds(0,0,908,590);
        frame.getContentPane().add(panel);
        panel.setLayout(null);


        DefaultListModel listModel = new DefaultListModel();
        listModel.addElement("Jane Doe");
        listModel.addElement("John Smith");
        listModel.addElement("Kathy Green");
        listModel.addElement("test");
        listModel.addElement("Ktest1");
        listModel.addElement("tet2");
        listModel.addElement("test3");
        listModel.addElement("test4");

        JList list = new JList(listModel);
        list.setBounds(266, 206, 286, 129);
        list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

        JScrollPane scrollPane = new JScrollPane(list);
        scrollPane.setForeground(Color.DARK_GRAY);
        scrollPane.setBounds(298, 204, 266, 129);

        panel.add(scrollPane);
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte