Lists
Tämä osa kuvaa kaikkien luettelo-komponenttien yleisiä ominaisuuksia, eikä se ole luokka, jota voidaan instansioida tai käyttää suoraan.
Käyttöösi on saatavilla kolme erilaista luetteloa sovelluksissasi: ListBox, ChoiceBox ja ComboBox. Nämä komponentit Display a list of key-value items, and provide methods to add, remove, select, and manage the items within the list.
Tällä sivulla on kuvattu kaikkien luettelo-komponenttien jaettavat ominaisuudet ja käyttäytyminen, kun taas kunkin tarkat tiedot käsitellään niiden omilla sivuilla.
Käyttäminen ListItem
Luettelo-komponentit koostuvat ListItem -objekteista, jotka edustavat yksittäisiä kohteita luettelossa. Jokaisella ListItem -objektilla on ainutlaatuinen avain ja näytettävä teksti. Tärkeitä ominaisuuksia ListItem -luokassa ovat:
ListItemkapseloi ainutlaatuisen avaimenObjectja tekstinString, joka näytetään luettelo-komponentissa.- Voit rakentaa
ListItem-objektin tarjoamalla avaimen ja tekstin tai määrittelemällä vain tekstin, jolloin satunnainen avain generoidaan.
ListItem-objektien hallinta API:n avulla
Eri luettelo-komponentit tarjoavat useita menetelmiä kohteiden luettelon hallitsemiseksi ja johdonmukaisen tilan ylläpitämiseksi luettelon ja asiakkaan välillä. Näiden menetelmien avulla voit tehokkaasti hallita luettelon kohteita. API mahdollistaa vuorovaikutuksen ja manipulaation luettelon kanssa, jotta se täyttää sovelluksesi vaatimukset.
Kohteiden lisääminen
-
Kohteen lisääminen:
- Voit lisätä
ListItem-kohteen luetteloon käyttämälläadd(ListItem item)-menetelmää. - Voit myös lisätä uuden
ListItem-kohteen määrittelemällä avaimen ja tekstin käyttäenadd(Object key, String text)taiadd(String text)-menetelmää.
- Voit lisätä
-
Kohteen lisääminen tiettyyn indeksiin:
- Voit lisätä kohteen tiettyyn indeksiin käyttämällä
insert(int index, ListItem item)-menetelmää. - Voit lisätä kohteen, jolla on avain ja teksti, käyttämällä
insert(int index, Object key, String text)taiinsert(int index, String text)-menetelmää.
- Voit lisätä kohteen tiettyyn indeksiin käyttämällä
-
Useiden kohteiden lisääminen:
- Voit lisätä useita kohteita määritettyyn indeksiin käyttämällä
insert(int index, List< ListItem > items)-menetelmää.
- Voit lisätä useita kohteita määritettyyn indeksiin käyttämällä
Suorituskyvyn optimoimiseksi on tehokkaampaa luoda ensin List ListItem -objekteista sen sijaan, että laukaistaan palvelin-asiakasviestiä joka kerta, kun käytät add()-menetelmää. Kun sinulla on tämä lista, voit lisätä ne kaikki kerralla käyttämällä insert(int index, List<ListItem> items) -menetelmää. Tämä lähestymistapa vähentää palvelin-asiakasviestintää ja parantaa kokonaistehokkuutta. Yksityiskohtaisia ohjeita tästä ja muista parhaista käytännöistä webforJ-arkkitehtuurissa löytyy Client/Server Interaction.
Kohteiden poistaminen
-
Kohteen poistaminen:
- Voit poistaa kohteen luettelosta käyttämällä
remove(int index)tairemove(Object key)-menetelmää.
- Voit poistaa kohteen luettelosta käyttämällä
-
Kaikkien kohteiden poistaminen:
- Voit poistaa kaikki kohteet luettelosta käyttämällä
removeAll().
- Voit poistaa kaikki kohteet luettelosta käyttämällä
Kohteiden valitseminen
Kaikki luettelotyypit toteuttavat SelectableList-rajapinnan. Tämä rajapinta mahdollistaa useita eri tapoja valita nykyinen ListItem.
Tietyn ListItem avulla
select(ListItem item) ottaa parametriksi ListItem-objektin valitsemiseksi.
List demoList = new List();
ListItem demoItem = new ListItem("demo","Demo Item");
demoList.add(demoItem);
demoList.select(demoItem);
Tietyn ListItem avaimen avulla
selectKey(Object key) ottaa parametriksi avaimen ListItem-objektiin valitsemiseksi.
List demoList = new List();
demoList.add("demo","Demo Item");
demoList.selectKey("demo");
Tietyn ListItem indeksin avulla
selectIndex(int index) ottaa parametrina indeksin ListItem-objektiin valitsemiseksi.
List demoList = new List();
demoList.add("demo","Demo Item");
demoList.selectKey(0);
Muita luettelo-operaatioita
-
Kohteiden hakeminen ja päivittäminen:
- Voit käyttää kohteita avaimen tai indeksin avulla, käyttäen
getByKey(Object key)taigetByIndex(int index). - Voit päivittää kohteen tekstiä käyttäen
setText(String text)-metodiaListItem-luokassa.
- Voit käyttää kohteita avaimen tai indeksin avulla, käyttäen
-
Tietojen hakeminen luettelosta:
Luetteloiden iteroiminen
Kaikki luettelo-komponentit toteuttavat Java Iteratable -rajapinnan, joka tarjoaa tehokkaan ja intuitiivisen tavan iteroida luettelon sisältöä. Tämän rajapinnan avulla voit helposti käydä läpi jokaisen ListItem-kohteen, mikä tekee yksittäisten kohteiden käsittelemisestä ja muuttamisesta vaivatonta. Iterable-rajapinta on Java-kielen standardiominaisuus, mikä varmistaa, että koodisi on tuttua ja ylläpidettävää kaikille Java-kehittäjille.
Alla olevassa koodiesimerkissä on esitetty kaksi helppoa tapaa iteroida läpi luetteloa:
list.forEach(item -> {
item.setText("Muokattu: " + item.getText());
});
for (ListItem item : list) {
item.setText("Muokattu2: " + item.getText());
}
Yhteiset luettelo-ominaisuudet
Otsikko
Kaikille luettelo-komponenteille voidaan määrittää otsikko, joka on kuvaileva teksti tai nimi, joka liittyy komponenttiin. Otsikot tarjoavat lyhyen selityksen tai kehotuksen, joka auttaa käyttäjiä ymmärtämään kyseisen luettelon tarkoitusta tai odotettua valintaa. Olemalla tärkeitä käytettävyyden kannalta, luettelo-otsikot näyttelevät myös keskeistä roolia saavutettavuudessa, mahdollistamalla ruudunlukijoiden ja apuvälineiden antavan tarkkaa tietoa ja helpottavan näppäimistön navigointia.
Aputeksti
Jokainen Luettelo-komponentti voi näyttää aputekstiä luettelon alla käyttäen setHelperText() -metodia. Tämä aputeksti tarjoaa lisäkontekstia tai selityksiä käytettävissä olevista vaihtoehdoista, varmistaen, että käyttäjillä on tarvittavat tiedot, jotta he voivat tehdä tietoon perustuvia valintoja.
Vaakatasaus
Kaikki luettelo-komponentit toteuttavat HasHorizontalAlignment -rajapinnan, joka antaa sinulle hallinnan siitä, miten teksti ja sisältö on kohdistettu komponentin sisällä.
Käytä setHorizontalAlignment() -metodia asettaaksesi tasaus:
HorizontalAlignment.LEFT(oletus)HorizontalAlignment.MIDDLEHorizontalAlignment.RIGHT
ListBox<String> listBox = new ListBox<>();
listBox.setHorizontalAlignment(HorizontalAlignment.LEFT);
Hankkiaksesi nykyisen tasaamisen:
HorizontalAlignment alignment = listBox.getHorizontalAlignment();
Laajuus
Kaikki webforJ:n luettelo-komponentit toteuttavat myös HasExpanse -rajapinnan, joka mahdollistaa komponentin koon ja visuaalisen painon säätämisen. Tämä on hyödyllistä, kun mukautat komponentin erilaisiin käyttöliittymäkonteksteihin, kuten lomakkeisiin, dialogeihin, sivupalkkeihin jne.
Käytä setExpanse() -metodia asettaaksesi laajuustason. Vaihtoehtoina ovat:
Expanse.NONEExpanse.XSMALLExpanse.SMALLExpanse.MEDIUM(oletus)Expanse.LARGEExpanse.XLARGE
ListBox<String> listBox = new ListBox<>();
listBox.setExpanse(Expanse.LARGE);
Voit tarvittaessa hankkia nykyisen asetuksen:
Expanse current = listBox.getExpanse();
Aiheet
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.