Lists
Deze sectie beschrijft de gemeenschappelijke kenmerken van alle lijstcomponenten en is geen klasse die kan worden geïnstantieerd of rechtstreeks kan worden gebruikt.
Er zijn drie typen lijsten beschikbaar voor gebruik binnen uw apps: ListBox, ChoiceBox en ComboBox. Deze componenten tonen allemaal een lijst van sleutel-waarde items en bieden methoden om items binnen de lijst toe te voegen, te verwijderen, te selecteren en te beheren.
Deze pagina beschrijft de gedeelde kenmerken en het gedrag van alle lijstcomponenten, terwijl specifieke details voor elk op hun respectieve pagina's worden behandeld.
Gebruik van ListItem
Lijstcomponenten zijn samengesteld uit ListItem objecten, die individuele items binnen een lijst vertegenwoordigen. Elk ListItem is gekoppeld aan een unieke sleutel en weergavetekst. Belangrijke kenmerken van de ListItem klasse zijn:
- Een
ListItemencapsuleert een unieke sleutelObjecten een tekstStringdie binnen de lijstcomponent wordt weergegeven. - U kunt een
ListItemconstrueren door een sleutel en tekst op te geven, of alleen de tekst op te geven zodat een willekeurige sleutel wordt gegenereerd.
Beheren van ListItem objecten met de API
De verschillende lijstcomponenten bieden verschillende methoden voor het beheren van de lijst van items en het handhaven van een consistente status tussen de lijst en de client. Door gebruik te maken van deze methoden, kunt u de items binnen de lijst effectief beheren. De API stelt u in staat om met de lijst te interageren en deze te manipuleren om aan de vereisten van uw app te voldoen.
Items toevoegen
-
Een item toevoegen:
- Om een
ListItemaan de lijst toe te voegen, kunt u deadd(ListItem item)methode gebruiken. - U kunt ook een nieuw
ListItemtoevoegen door de sleutel en tekst op te geven met deadd(Object key, String text)ofadd(String text)methode.
- Om een
-
Een item op een specifieke index invoegen:
- Om een item op een specifieke index in te voegen, gebruikt u de
insert(int index, ListItem item)methode. - U kunt een item met sleutel en tekst invoegen met de
insert(int index, Object key, String text)ofinsert(int index, String text)methode.
- Om een item op een specifieke index in te voegen, gebruikt u de
-
Meerdere items invoegen:
- U kunt meerdere items op een specifieke index invoegen met de
insert(int index, List< ListItem > items)methode.
- U kunt meerdere items op een specifieke index invoegen met de
Om de prestaties te optimaliseren, is het efficiënter om eerst een lijst van ListItem objecten te maken in plaats van bij elke methode-aanroep een server-naar-client-bericht te verzenden met de add() methode. Zodra u deze lijst heeft, kunt u ze allemaal in één keer toevoegen met de insert(int index, List<ListItem> items) methode. Deze aanpak vermindert de communicatie tussen de server en de client, waardoor de algehele efficiëntie wordt verbeterd. Voor gedetailleerde richtlijnen over dit en andere best practices in de webforJ-architectuur, verwijzen wij naar Client/Server Interaction.
Items verwijderen
-
Een item verwijderen:
- Om een item uit de lijst te verwijderen, gebruikt u de
remove(int index)ofremove(Object key)methode.
- Om een item uit de lijst te verwijderen, gebruikt u de
-
Alle items verwijderen:
- U kunt alle items uit de lijst verwijderen met
removeAll().
- U kunt alle items uit de lijst verwijderen met
Items selecteren
Alle lijsttypen implementeren de SelectableList interface. Deze interface biedt meerdere verschillende manieren om het huidige ListItem te selecteren.
Met een gegeven ListItem
select(ListItem item) neemt een ListItem als parameter om te selecteren.
List demoList = new List();
ListItem demoItem = new ListItem("demo","Demo Item");
demoList.add(demoItem);
demoList.select(demoItem);
Met een gegeven sleutel van een ListItem
selectKey(Object key) neemt een sleutel van een ListItem als parameter om te selecteren.
List demoList = new List();
demoList.add("demo","Demo Item");
demoList.selectKey("demo");
Met een gegeven index van een ListItem
selectIndex(int index) neemt een index van een ListItem als parameter om te selecteren.
List demoList = new List();
demoList.add("demo","Demo Item");
demoList.selectKey(0);
Andere lijstbewerkingen
-
Toegang tot en bijwerken van items:
- Om items op te halen op basis van sleutel of index, gebruikt u
getByKey(Object key)ofgetByIndex(int index). - U kunt de tekst van een item bijwerken met de
setText(String text)methode binnen deListItemklasse.
- Om items op te halen op basis van sleutel of index, gebruikt u
-
Informatie over de lijst ophalen:
Lijsten itereren
Alle lijstcomponenten implementeren de Java Iteratable interface, die een efficiënte en intuïtieve manier biedt om door de inhoud van een lijst te itereren. Met deze interface kunt u eenvoudig door elk ListItem lopen, waardoor het eenvoudig is om toegang te krijgen, wijzigingen aan te brengen of acties op elk item uit te voeren met minimale inspanning. De Iterable interface is een standaardpatroon van de Java-taal, waardoor uw code bekend en onderhoudbaar is voor elke Java-ontwikkelaar.
De onderstaande codefragmenten demonstreren twee eenvoudige manieren om door een lijst te itereren:
list.forEach(item -> {
item.setText("Modified: " + item.getText());
});
for (ListItem item : list) {
item.setText("Modified2: " + item.getText());
}
Gedeelde lijst-eigenschappen
Label
Alle lijstcomponenten kunnen een label worden toegewezen, wat een beschrijvende tekst of titel is die aan de component is gekoppeld. Labels bieden een korte uitleg of aanwijzing om gebruikers te helpen het doel of de verwachte selectie voor die specifieke lijst te begrijpen. Naast hun belang voor de bruikbaarheid, spelen lijstlabels ook een cruciale rol in toegankelijkheid, waardoor schermlezers en ondersteunende technologieën nauwkeurige informatie kunnen bieden en het navigeren met het toetsenbord kunnen vergemakkelijken.
Helpertekst
Elke lijstcomponent kan helpertekst onder de lijst weergeven met de setHelperText() methode. Deze helpertekst biedt aanvullende context of uitleg over de beschikbare opties, zodat gebruikers de nodige informatie hebben om weloverwogen selecties te maken.
Horizontale uitlijning
Alle lijstcomponenten implementeren de HasHorizontalAlignment interface, waardoor u controle heeft over hoe tekst en inhoud binnen de component worden uitgelijnd.
Gebruik de setHorizontalAlignment() methode om de uitlijning in te stellen:
HorizontalAlignment.LEFT(standaard)HorizontalAlignment.MIDDLEHorizontalAlignment.RIGHT
ListBox<String> listBox = new ListBox<>();
listBox.setHorizontalAlignment(HorizontalAlignment.LEFT);
Om de huidige uitlijning te krijgen:
HorizontalAlignment alignment = listBox.getHorizontalAlignment();
Expansies
Alle lijstcomponenten in webforJ implementeren ook de HasExpanse interface, waarmee u de algemene grootte en visuele gewicht van de component kunt aanpassen. Dit is nuttig om de component aan te passen aan verschillende UI-contexten, zoals formulieren, dialoogvensters, zijbalken, enz.
Gebruik de setExpanse() methode om het expansieniveau in te stellen. Opties zijn onder andere:
Expanse.NONEExpanse.XSMALLExpanse.SMALLExpanse.MEDIUM(standaard)Expanse.LARGEExpanse.XLARGE
ListBox<String> listBox = new ListBox<>();
listBox.setExpanse(Expanse.LARGE);
U kunt de huidige instelling ophalen met:
Expanse current = listBox.getExpanse();
Onderwerpen
ChoiceBox
Pick a single value from a fixed set with the ChoiceBox dropdown, including dropdown type styling, max row count, and keyboard navigation.
ComboBox
Combine a dropdown list with a text input in the ComboBox to let users select preset items or type custom values with placeholder support.
ListBox
Show a scrollable, always-visible list with the ListBox component, supporting single or multiple selection and keyboard navigation.