JList | Java Swing
JList fait partie du package Java Swing. JList est un composant qui affiche un ensemble d’objets et permet à l’utilisateur de sélectionner un ou plusieurs éléments. JList hérite de la classe JComponent. JList est un moyen facile d’afficher un tableau de vecteurs.

Les constructeurs de la classe JList sont:
| JList() | Crée une liste vide |
| JList(E[] l) | Crée une nouvelle liste avec les éléments du tableau. |
| JList(ListModel d) | Crée une nouvelle liste avec le modèle de liste spécifié |
| JList(Vector l) | Crée une nouvelle liste avec les éléments du vecteur |
Les méthodes couramment utilisées sont:
- getSelectedIndex() : Renvoie l’index de l’élément sélectionné de la liste
- getSelectedValue() : Renvoie la valeur sélectionnée de l’élément de la liste
- setSelectedIndex(int i) : Définit l’index sélectionné de la liste sur i
- setSelectionBackground(Color c) : Définit la couleur d’arrière-plan de la liste
- setSelectionForeground(Color c) : Modifie la couleur de premier plan de la liste
- setListData(E[] l) : Remplace les éléments de la liste par les éléments de l.
- setVisibleRowCount(int v) : Modifie la propriété visibleRowCount
- setSelectedValue(Object a, boolean s) : Sélectionne l’objet spécifié dans la liste.
- setListData(Vector l) : Construit un ListModel en lecture seule à partir d’un vecteur spécifié.
- getSelectedValuesList() : Renvoie une liste de tous les éléments sélectionnés.
- getSelectedIndices() : Renvoie un tableau de tous les indices sélectionnés, dans l’ordre croissant
- getMinSelectionIndex() : Renvoie le plus petit index sélectionné, ou -1 si la sélection est vide.
- getMaxSelectionIndex() : Renvoie le plus grand index sélectionné, ou -1 si la sélection est vide.
- isSelectedIndex(int i) : Renvoie true si l’index spécifié est sélectionné, sinon false.
- setFixedCellWidth(int w) : Remplace la largeur de cellule de la liste par la valeur passée en paramètre.
- setFixedCellHeight(int h) : Remplace la hauteur de cellule de la liste par la valeur passée en paramètre.
Exemple:
import javax.swing.*;
public class JListExemple extends JFrame
{
private JList<String> langages;
public JListExemple()
{
//créer le modèle et ajouter des éléments
DefaultListModel<String> model = new DefaultListModel<>();
model.addElement("Java");
model.addElement("PHP");
model.addElement("Python");
model.addElement("C++");
model.addElement("Perl");
model.addElement("Pascal");
model.addElement("Ruby");
//créer la liste des langages
langages = new JList<>(model);
add(langages);
this.setTitle("Exemple de JList");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(200,200);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
new JListExemple();
}
});
}
}
Sortie:


