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: