Lists
Cette section décrit les fonctionnalités communes de tous les composants de liste, et ce n'est pas une classe qui peut être instanciée ou utilisée directement.
Il existe trois types de listes disponibles pour une utilisation dans vos applications : ListBox
, ChoiceBox
et ComboBox
. Ces composants affichent tous une liste d'éléments clé-valeur, et fournissent des méthodes pour ajouter, supprimer, sélectionner et gérer les éléments dans la liste.
Cette page décrit les fonctionnalités et le comportement partagés de tous les composants de liste, tandis que les détails spécifiques pour chacun sont couverts dans leurs pages respectives.
Utilisation de ListItem
Les composants de liste sont composés d'objets ListItem
, qui représentent des éléments individuels au sein d'une liste. Chaque ListItem
est associé à une clé unique et à un texte d'affichage. Les caractéristiques importantes de la classe ListItem
comprennent :
- Un
ListItem
encapsule une clé uniqueObject
et unString
texte à afficher dans le composant de liste. - Vous pouvez construire un
ListItem
en fournissant une clé et un texte, ou en spécifiant uniquement le texte pour qu'une clé aléatoire soit générée.
Gestion des objets ListItem
avec l'API
Les différents composants de liste offrent plusieurs méthodes pour gérer la liste des éléments et maintenir un état cohérent entre la liste et le client. En utilisant ces méthodes, vous pouvez gérer efficacement les éléments au sein de la liste. L'API vous permet d'interagir avec et de manipuler la liste pour répondre aux besoins de votre application.
Ajout d'éléments
-
Ajouter un élément :
- Pour ajouter un
ListItem
à la liste, vous pouvez utiliser la méthodeadd(ListItem item)
. - Vous pouvez également ajouter un nouveau
ListItem
en spécifiant la clé et le texte en utilisant la méthodeadd(Object key, String text)
ouadd(String text)
.
- Pour ajouter un
-
Insérer un élément à un index spécifique :
- Pour insérer un élément à un index spécifique, utilisez la méthode
insert(int index, ListItem item)
. - Vous pouvez insérer un élément avec une clé et un texte en utilisant la méthode
insert(int index, Object key, String text)
ouinsert(int index, String text)
.
- Pour insérer un élément à un index spécifique, utilisez la méthode
-
Insérer plusieurs éléments :
- Vous pouvez insérer plusieurs éléments à un index spécifié en utilisant la méthode
insert(int index, List< ListItem > items)
.
- Vous pouvez insérer plusieurs éléments à un index spécifié en utilisant la méthode
Pour optimiser les performances, au lieu de déclencher un message serveur-client à chaque fois que vous utilisez la méthode add()
, il est plus efficace de créer d'abord une liste d'objets ListItem
. Une fois que vous avez cette liste, vous pouvez les ajouter tous en une seule fois en utilisant la méthode insert(int index, List<ListItem> items)
. Cette approche réduit la communication serveur-client, améliorant l'efficacité globale. Pour des lignes directrices détaillées sur cela et d'autres meilleures pratiques dans l'architecture webforJ, référez-vous à Interaction Client/Serveur.
Suppression d'éléments
-
Supprimer un élément :
- Pour supprimer un élément de la liste, utilisez la méthode
remove(int index)
ouremove(Object key)
.
- Pour supprimer un élément de la liste, utilisez la méthode
-
Supprimer tous les éléments :
- Vous pouvez supprimer tous les éléments de la liste en utilisant
removeAll()
.
- Vous pouvez supprimer tous les éléments de la liste en utilisant
Sélection d'éléments
Tous les types de liste implémentent l'interface SelectableList
. Cette interface permet plusieurs façons différentes de sélectionner le ListItem
actuel.
Avec un ListItem
donné
select(ListItem item)
prend un ListItem
comme paramètre à sélectionner.
List demoList = new List();
ListItem demoItem = new ListItem("demo","Élément Démo");
demoList.add(demoItem);
demoList.select(demoItem);
Avec une clé donnée d'un ListItem
selectKey(Object key)
prend une clé vers un ListItem
comme paramètre à sélectionner.
List demoList = new List();
demoList.add("demo","Élément Démo");
demoList.selectKey("demo");
Avec un index donné d'un ListItem
selectIndex(int index)
prend un index vers un ListItem
comme paramètre à sélectionner.
List demoList = new List();
demoList.add("demo","Élément Démo");
demoList.selectKey(0);
Autres opérations sur les listes
-
Accéder et mettre à jour des éléments :
- Pour accéder aux éléments par clé ou par index, utilisez
getByKey(Object key)
ougetByIndex(int index)
. - Vous pouvez mettre à jour le texte d'un élément en utilisant la méthode
setText(String text)
dans la classeListItem
.
- Pour accéder aux éléments par clé ou par index, utilisez
-
Récupérer des informations sur la liste :
Itération sur les listes
Tous les composants de liste implémentent l'interface Java Iteratable
, offrant un moyen efficace et intuitif d'itérer à travers le contenu d'une liste. Avec cette interface, vous pouvez facilement parcourir chaque ListItem
, ce qui rend simple l'accès, la modification ou l'exécution d'actions sur chaque élément avec un effort minimal. L'interface Iterable
est un modèle standard du langage Java, garantissant que votre code soit familier et maintenable pour tout développeur Java.
Le code ci-dessous démontre deux façons simples d'itérer à travers une liste :
list.forEach(item -> {
item.setText("Modifié : " + item.getText());
});
for (ListItem item : list) {
item.setText("Modifié2 : " + item.getText());
}
Propriétés partagées des listes
Étiquette
Tous les composants de liste peuvent se voir attribuer une étiquette, qui est un texte descriptif ou un titre associé au composant. Les étiquettes fournissent une brève explication ou une invite pour aider les utilisateurs à comprendre le but ou la sélection attendue pour cette liste particulière. En plus de leur importance pour l'utilisabilité, les étiquettes de liste jouent également un rôle crucial dans l'accessibilité, permettant aux lecteurs d'écran et aux technologies d'assistance de fournir des informations précises et de faciliter la navigation au clavier.
Texte d'aide
Chaque composant de liste peut afficher un texte d'aide sous la liste en utilisant la méthode setHelperText()
. Ce texte d'aide offre un contexte ou des explications supplémentaires sur les options disponibles, garantissant que les utilisateurs disposent des informations nécessaires pour effectuer des sélections éclairées.
Alignement horizontal
Tous les composants de liste implémentent l'interface HasHorizontalAlignment
, vous donnant le contrôle sur la façon dont le texte et le contenu sont alignés à l'intérieur du composant.
Utilisez la méthode setHorizontalAlignment()
pour définir l'alignement :
HorizontalAlignment.LEFT
(par défaut)HorizontalAlignment.MIDDLE
HorizontalAlignment.RIGHT
ListBox<String> listBox = new ListBox<>();
listBox.setHorizontalAlignment(HorizontalAlignment.LEFT);
Pour obtenir l'alignement actuel :
HorizontalAlignment alignment = listBox.getHorizontalAlignment();
Espaces
Tous les composants de liste dans webforJ implémentent également l'interface HasExpanse
, vous permettant d'ajuster la taille globale et le poids visuel du composant. Cela est utile pour adapter le composant à divers contextes d'interface utilisateur, tels que des formulaires, des dialogues, des barres latérales, etc.
Utilisez la méthode setExpanse()
pour définir le niveau d'expansion. Les options incluent :
Expanse.NONE
Expanse.XSMALL
Expanse.SMALL
Expanse.MEDIUM
(par défaut)Expanse.LARGE
Expanse.XLARGE
ListBox<String> listBox = new ListBox<>();
listBox.setExpanse(Expanse.LARGE);
Vous pouvez récupérer le paramètre actuel en utilisant :
Expanse current = listBox.getExpanse();
Sujets
📄️ ChoiceBox
Le composant ChoiceBox est un élément d'interface utilisateur conçu pour présenter aux utilisateurs une liste d'options ou de choix. Les utilisateurs peuvent sélectionner une seule option dans cette liste, généralement en cliquant sur le ChoiceBox, ce qui déclenche l'affichage d'une liste déroulante contenant les choix disponibles. Les utilisateurs peuvent également interagir avec le ChoiceBox en utilisant les touches fléchées. Lorsqu'un utilisateur fait une sélection, l'option choisie est alors affichée dans le bouton ChoiceBox.
📄️ ComboBox
Le composant ComboBox est un élément d'interface utilisateur conçu pour présenter aux utilisateurs une liste d'options ou de choix, ainsi qu'un champ pour saisir leurs propres valeurs personnalisées. Les utilisateurs peuvent sélectionner une seule option dans cette liste, généralement en cliquant sur le ComboBox, ce qui déclenche l'affichage d'une liste déroulante contenant les choix disponibles, ou saisir une valeur personnalisée. Les utilisateurs peuvent également interagir avec le ComboBox à l'aide des flèches du clavier. Lorsque l'utilisateur effectue une sélection, l'option choisie est ensuite affichée dans le ComboBox.
📄️ ListBox
Le composant ListBox est un élément d'interface utilisateur conçu pour afficher une liste déroulante d'objets et permet aux utilisateurs de sélectionner un ou plusieurs éléments de la liste. Les utilisateurs peuvent également interagir avec le ListBox à l'aide des flèches du clavier.