Siirry pääsisältöön

Lists

Avaa ChatGPT:ssä
tiedot

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:

  • ListItem kapseloi ainutlaatuisen avaimen Object ja tekstin String, 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

vinkki

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

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

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.MIDDLE
  • HorizontalAlignment.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.NONE
  • Expanse.XSMALL
  • Expanse.SMALL
  • Expanse.MEDIUM (oletus)
  • Expanse.LARGE
  • Expanse.XLARGE
ListBox<String> listBox = new ListBox<>();
listBox.setExpanse(Expanse.LARGE);

Voit tarvittaessa hankkia nykyisen asetuksen:

Expanse current = listBox.getExpanse();

Aiheet