Siirry pääsisältöön

Luettelot

Avaa ChatGPT:ssä
tiedot

Tässä osiossa kuvataan kaikkien listakomponenttien yhteiset ominaisuudet, eikä tämä ole luokka, jota voidaan instansioida tai käyttää suoraan.

Sovelluksissasi on kolme tyyppiä listoja käytettävissä: ListBox, ChoiceBox ja ComboBox. Nämä komponentit näyttävät kaikki joukon avain-arvo -kohteita ja tarjoavat menetelmiä kohteiden lisäämiseen, poistamiseen, valitsemiseen ja hallintaan listassa.

Tällä sivulla esitellään kaikkien listakomponenttien yhteiset ominaisuudet ja toiminta, kun taas kunkin erityiset tiedot käsitellään niiden omilla sivuillaan.

Käyttäminen ListItem​

Listakomponentit koostuvat ListItem -objekteista, jotka edustavat yksittäisiä kohteita listassa. Jokaisella ListItem:lla on ainutlaatuinen avain ja näyttöteksti. Tärkeitä ominaisuuksia ListItem -luokassa ovat:

  • ListItem kapseloi ainutlaatuisen avaimen Object ja tekstin String, joka näytetään listakomponentissa.
  • Voit rakentaa ListItem:n antamalla avaimen ja tekstin tai määrittämällä vain tekstin, jolloin satunnainen avain luodaan.

ListItem-objektien hallinta API:n avulla​

Erilaiset listakomponentit tarjoavat useita menetelmiä kohdelistan hallitsemiseksi ja tasapainoisen tilan ylläpitämiseksi listan ja asiakkaan välillä. Käyttämällä näitä menetelmiä voit tehokkaasti hallita kohteita listassa. API mahdollistaa sinun vuorovaikuttaa ja manipuloida listaa sovelluksesi vaatimusten mukaisesti.

Kohteiden lisääminen​

vinkki

Suorituskyvyn optimoimiseksi, sen sijaan että laukaistaisit palvelin-asiakasviestin joka kerta käyttäessäsi add()-menetelmää, on tehokkaampaa luoda ensin List ListItem -objekteista. Kun sinulla on tämä lista, voit lisätä ne kaikki kerralla käyttäen insert(int index, List<ListItem> items) -menetelmää. Tämä lähestymistapa vähentää palvelin-asiakasviestintää, parantaen kokonaiseffektiivisyyttä. Yksityiskohtaiset ohjeet tästä ja muista parhaista käytännöistä webforJ-arkkitehtuurissa löydät Asiakkaan/Palvelimen vuorovaikutus.

Kohteiden poistaminen​

Kohteiden valitseminen​

Kaikki listatyypit toteuttavat SelectableList-rajapinnan. Tämä rajapinta mahdollistaa useita erilaisia tapoja valita nykyinen ListItem.

Tietyn ListItem:n kanssa​

select(ListItem item) ottaa ListItem:n parametrina valitsemiseksi.

List demoList = new List();
ListItem demoItem = new ListItem("demo","Demo Item");
demoList.add(demoItem);
demoList.select(demoItem);

Tietyn ListItem:n avaimen kanssa​

selectKey(Object key) ottaa avaimen ListItem:ille parametrina valitsemiseksi.

List demoList = new List();
demoList.add("demo","Demo Item");
demoList.selectKey("demo");

Tietyn ListItem:n indeksin kanssa​

selectIndex(int index) ottaa indeksin ListItem:lle parametrina valitsemiseksi.

List demoList = new List();
demoList.add("demo","Demo Item");
demoList.selectKey(0);

Muut listatoiminnot​

  • Kohteiden käyttämiseen ja päivittämiseen:

  • Tietojen noutaminen listasta:

    • Voit saada listan koon käyttämällä size() -menetelmää.
    • Tarkistaaksesi, onko lista tyhjennyt, käytä isEmpty() -menetelmää.

Listojen läpikäyminen​

Kaikki listakomponentit toteuttavat Java Iteratable -rajapinnan, joka tarjoaa tehokkaan ja intuitiivisen tavan käydä läpi listan sisältöä. Tämän rajapinnan avulla voit helposti iteroida jokaisen ListItem:n läpi, mikä tekee yksinkertaiseksi käyttää, muokata tai suorittaa toimintoja jokaiselle kohteelle pienellä vaivalla. Iterable-rajapinta on standardimalli Java-kielellä, mikä varmistaa, että koodisi on tuttua ja ylläpidettävää mille tahansa Java-kehittäjälle.

Alla olevassa koodinpätkässä esitetään kaksi helppoa tapaa iteroida listan läpi:

list.forEach(item -> {
item.setText("Muokattu: " + item.getText());
});

for (ListItem item : list) {
item.setText("Muokattu2: " + item.getText());
}

Haku 26.02​

Kaikilla listakomponenteilla on integroitu hakukenttä, joka suodattaa kohteet niiden tekstin perusteella. Kenttä on oletuksena poissa käytöstä. Käytä getSearch() -menetelmää päästäksesi hakukonfigurointiin, sitten setFieldVisible(true) näyttääksesi kentän komponentin listan yläosassa.

ComboBox comboBox = new ComboBox("Hedelmät");
comboBox.insert("Omena", "Banaani", "Kirsikka", "Aprikos", "Ananas");

comboBox.getSearch()
.setFieldVisible(true)
.setPlaceholder("Hae hedelmiä")
.setEmptyMessage("Ei hedelmiä löytynyt");
Näytä koodi

Suodatus piilottaa vain ne kohteet, jotka eivät täsmää. Kohteiden indeksit ja nykyinen valinta pysyvät koskemattomina, joten getSelectedIndex() viittaa edelleen täydelliseen listaan, ei nykyisin näkyviin kohteisiin.

Hakukenttä voidaan piilottaa jälleen käyttämällä setFieldVisible(false).

Kentän konfigurointi​

  • setPlaceholder() asettaa hakukentän paikkamerkkitekstin. Oletus on Hae.

  • setEmptyMessage() asettaa viestin, joka näytetään, kun haku ei palauta tuloksia. Oletus on Ei näyttöön osoitettavaa tietoa.

Jokaiselle asetukselle on vastaava getter: isFieldVisible(), getPlaceholder(), getEmptyMessage(), ja getTerm().

Suodatus koodista​

setTerm() asettaa haun termin ja suodattaa listan. Se toimii riippumatta siitä, onko kenttä näkyvissä vai ei, joten lista voidaan suodattaa näyttämättä hakukäyttöliittymää.

listBox.getSearch().setTerm("omena");
getTerm() ja hakukenttä

Kirjoittaminen hakukenttään ei kirjoita termiä takaisin konfigurointiin. getTerm() palauttaa viimeisen arvon, joka on annettu setTerm()-menetelmälle, ei sitä, mitä käyttäjä on kirjoittanut.

Jaetut listan ominaisuudet​

Otsikko​

Kaikille listakomponenteille voidaan määrittää otsikko, joka on kuvaava teksti tai otsikko, joka liittyy komponenttiin. Otsikot tarjoavat lyhyen selityksen tai kehotuksen auttaa käyttäjiä ymmärtämään kyseisen listan tarkoituksen tai odotettavan valinnan. Käytettävän helppouden lisäksi listan otsikoilla on tärkeä rooli myös esteettömyydessä, mahdollistaen ruudunlukijoiden ja apuvälineiden tarjoavan tarkkaa tietoa ja helpottamaan näppäimistön navigointia.

Aputeksti​

Jokainen List-komponentti voi näyttää aputekstiä listan alla käyttämällä setHelperText()-menetelmää. Tämä aputeksti tarjoaa lisäkontekstia tai selityksiä saatavilla olevista vaihtoehdoista, varmistaen, että käyttäjillä on tarvittava tieto tietoisien valintojen tekemiseen.

Vaakasuuntainen kohdistus​

Kaikki listakomponentit toteuttavat HasHorizontalAlignment-rajapinnan, mikä antaa sinulle hallinnan tekstin ja sisällön kohdistuksessa komponentin sisällä.

Käytä setHorizontalAlignment()-menetelmää asettaaksesi kohdistuksen:

  • HorizontalAlignment.LEFT (oletus)
  • HorizontalAlignment.MIDDLE
  • HorizontalAlignment.RIGHT
ListBox<String> listBox = new ListBox<>();
listBox.setHorizontalAlignment(HorizontalAlignment.LEFT);

Hanki nykyinen kohdistus:

HorizontalAlignment alignment = listBox.getHorizontalAlignment();

Laajennukset​

Kaikki webforJ:n listakomponentit toteuttavat myös HasExpanse -rajapinnan, mikä mahdollistaa komponentin kokonaiskoon ja visuaalisen painon säätämisen. Tämä on hyödyllistä komponentin mukauttamiseksi erilaisiin käyttöliittymäkonteksteihin, kuten lomakkeisiin, dialogeihin, sivupalkkeihin jne.

Käytä setExpanse()-menetelmää asettaaksesi laajennustason. Vaihtoehtoina ovat:

  • Expanse.NONE
  • Expanse.XSMALL
  • Expanse.SMALL
  • Expanse.MEDIUM (oletus)
  • Expanse.LARGE
  • Expanse.XLARGE
ListBox<String> listBox = new ListBox<>();
listBox.setExpanse(Expanse.LARGE);

Voit noutaa nykyisen asetuksen käyttäen:

Expanse current = listBox.getExpanse();

Aiheet​