Table des matières

JList

Qu'est-ce qu'un JList ?

JList est un composant qui affiche un ensemble d'éléments sous forme de liste et permet à l'utilisateur de sélectionner un ou plusieurs éléments.

Ces éléments peuvent être de plusieurs natures, selon le besoin :

Déposer un JList

Pour créer une Jlist il faut créer en premier lieu une fenêtre. ( JFrame par exemple).

Créer une JFrame Form

Créer une Jlist

Paramétrer le Jlist

Les paramètres essentiels à considérer pour personnaliser sa JList (clic droit sur la Jlist > Properties ) sont :

Onglet Code





Type Parameters
le type des objets associés à la liste


Variable Name
le nom de la JList dans le code
jlist_code_propriete.jpg

Onglet Properties





selectionMode
le mode de sélection offert à l’utilisateur


model
Va définir le texte afficher

Onglet Events





valueChanged
événement qui se déclenche lorsque la valeur sélectionnée dans la liste change, du fait d’une action utilisateur

Alimenter le JList avec des String

public class MainWindow{
 
    private DefaultListModel<String> listModel;
}                
public MainWindow() {
    initComponents();
    listModel = new DefaultListModel();    
}
listModel.addElement("élément x");
jList1.setmodel(listModel);

Alimenter le JList avec des Objets

public class MainWindow{
    private DefaultListModel<T> listModel;
}

* Instancier le DefaultListModel dans le constructeur

public MainWindow() {
    initComponents();
    listModel = new DefaultListModel();    
}
// la classe T a ici un constructeur à 2 paramètres (String nom, String prénom)
T t = new T("Le Brun","Titouan");
listModel.addElement(t);
jList1.setmodel(listModel);

La présentation des données dans la JList est textuelle . Elle dépendra donc de la valeur renvoyée par la méthode toString appliquée aux objets de type T

Exploiter la valeur sélectionnée dans la Jlist

Avec une Jlist on a la possibilité de récupérer l'élément sélectionné lorsqu'un utilisateur clique dessus grâce à la méthode getSelectedValue (libre au développeur d'utiliser les méthodes de l'objet pour obtenir ses caractéristiques propres).

T t = jList1.getSelectedValue();
System.out.println (t.getNom());  

Note : dans le cas d'une sélection multiple, la méthode getSelectedValuesList() renvoie la Collection des Objets sélectionnés.