Lists
Tässä osiossa kuvataan kaikkien luettelokomponenttien yleisiä ominaisuuksia, eikä se ole luokka, jota voidaan instansioida tai käyttää suoraan.
Sovelluksissasi on käytettävissä kolme erilaista luetteloa: ListBox
, ChoiceBox
ja ComboBox
. Nämä komponentit näyttävät kaikki avain-arvo-itemien luettelon ja tarjoavat menetelmiä itemien lisäämiseen, poistamiseen, valitsemiseen ja hallintaan luettelossa.
Tällä sivulla esitetään kaikkien luettelokomponenttien yhteiset ominaisuudet ja käyttäytyminen, kun taas kunkin erityiset tiedot käsitellään niiden omilla sivuillaan.
Käyttäminen ListItem
Luettelokomponentit koostuvat ListItem
-objekteista, jotka edustavat yksittäisiä itemeitä luettelossa. Jokainen ListItem
on liitetty yksilölliseen avaimen ja näyttetekstiin. Tärkeitä piirteitä ListItem
-luokassa ovat:
ListItem
kapseloi ainutlaatuisen avaimenObject
ja tekstinString
, joka näytetään luettelokomponentissa.- Voit luoda
ListItem
-objektin antamalla avaimen ja tekstin, tai määrittelemällä vain tekstin, jolloin satunnainen avain luodaan.
ListItem
-objektien hallinta API:n avulla
Erilaiset luettelokomponentit tarjoavat useita menetelmiä itemien hallintaan ja johdonmukaisen tilan ylläpitämiseen luettelon ja asiakkaan välillä. Näitä menetelmiä käyttämällä voit hallita tehokkaasti luettelon itemeitä. API:n avulla voit vuorovaikuttaa ja manipuloida luetteloa sovelluksesi vaatimusten mukaan.
Itemien lisääminen
-
Itemin lisääminen:
- Voit lisätä
ListItem
-objektin luetteloon käyttämälläadd(ListItem item)
-menetelmää. - Voit myös lisätä uuden
ListItem
-objektin määrittämällä avaimen ja tekstin käyttämälläadd(Object key, String text)
taiadd(String text)
-menetelmää.
- Voit lisätä
-
Itemin lisääminen tiettyyn indeksiin:
- Voit lisätä itemin tiettyyn indeksiin käyttämällä
insert(int index, ListItem item)
-menetelmää. - Voit lisätä itemin, yhdistäen avaimen ja tekstin, käyttämällä
insert(int index, Object key, String text)
taiinsert(int index, String text)
-menetelmää.
- Voit lisätä itemin tiettyyn indeksiin käyttämällä
-
Useiden itemien lisääminen:
- Voit lisätä useita itemeitä määritettyyn indeksiin käyttämällä
insert(int index, List< ListItem > items)
-menetelmää.
- Voit lisätä useita itemeitä määritettyyn indeksiin käyttämällä
Suorituskyvyn optimoimiseksi, sen sijaan että laukaistaisit palvelin-asiakasviestin joka kerta, kun käytät add()
-menetelmää, on tehokkaampaa luoda ensin ListItem
-objektien lista. 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 koko tehokkuutta. Yksityiskohtaisia ohjeita tästä ja muista parhaista käytännöistä webforJ-arkkitehtuurissa, katso Asiakas/Palvelin vuorovaikutus.
Itemien poistaminen
-
Itemin poistaminen:
- Poistaaksesi itemin luettelosta, käytä
remove(int index)
tairemove(Object key)
-menetelmää.
- Poistaaksesi itemin luettelosta, käytä
-
Kaikkien itemien poistaminen:
- Voit poistaa kaikki itemit luettelosta käyttämällä
removeAll()
.
- Voit poistaa kaikki itemit luettelosta käyttämällä
Itemien valitseminen
Kaikki luettelotyypit toteuttavat SelectableList
-rajapinnan. Tämä rajapinta mahdollistaa useita eri tapoja valita nykyinen ListItem
.
Annetun ListItem
avulla
select(ListItem item)
ottaa ListItem
-parametrin valitsemiseksi.
List demoList = new List();
ListItem demoItem = new ListItem("demo","Demo Item");
demoList.add(demoItem);
demoList.select(demoItem);
Annetun ListItem
:n avaimen avulla
selectKey(Object key)
ottaa avaimen ListItem
-valitsemiseksi.
List demoList = new List();
demoList.add("demo","Demo Item");
demoList.selectKey("demo");
Annetun ListItem
:n indeksin avulla
selectIndex(int index)
ottaa indeksin ListItem
-valitsemiseksi.
List demoList = new List();
demoList.add("demo","Demo Item");
demoList.selectKey(0);
Muut luettelotoiminnot
-
Itemien saavutettavuus ja päivittäminen:
- Saadaksesi itemit avaimen tai indeksin kautta, käytä
getByKey(Object key)
taigetByIndex(int index)
. - Voit päivittää itemin tekstiä käyttämällä
setText(String text)
-menetelmääListItem
-luokassa.
- Saadaksesi itemit avaimen tai indeksin kautta, käytä
-
Tietojen hakeminen listasta:
Listojen läpikäynti
Kaikki Luettelo-n komponentit toteuttavat Java Iteratable
-rajapinnan, joka tarjoaa tehokkaan ja intuitiivisen tavan käydä läpi luettelon sisältöä. Tämän rajapinnan avulla voit helposti silmukoida jokaisen ListItem
-objektin läpi, mikä helpottaa jokaisen itemin saavuttamista, muokkaamista tai käsittelemistä vähällä vaivalla. Iterable
-rajapinta on standardimalli Java-kielessä, varmistaen, että koodisi on tuttu ja ylläpidettävä kaikille Java-kehittäjille.
Alla esitetty koodinpätkä osoittaa kaksi helppoa tapaa käydä läpi luetteloa:
list.forEach(item -> {
item.setText("Muokattu: " + item.getText());
});
for (ListItem item : list) {
item.setText("Muokattu2: " + item.getText());
}
Yhteiset luettelo-ominaisuudet
Tekstiosio
Kaikille Luettelo-n komponenteille voidaan määrittää teksti, joka on kuvaava teksti tai otsikko, joka liittyy komponenttiin. Etiketit tarjoavat lyhyen selityksen tai kehotteen auttaakseen käyttäjiä ymmärtämään kyseisen luettelon tarkoituksen tai odotetun valinnan. Käytettävyyden lisäksi luettelon etiketit ovat tärkeäksi tehtäväksi esteettömyydessä, mahdollistaen ruudunlukuohjelmien ja apuvälineiden tarjoaman tarkan tiedon sekä helpottamaan näppäimistön navigointia.
Aputeksti
Jokainen Luettelo-n komponentti voi näyttää aputekstiä luettelon alla käyttämällä setHelperText()
-menetelmää. Tämä aputeksti tarjoaa lisäkontekstia tai selityksiä käytettävissä olevista vaihtoehdoista, varmistaen, että käyttäjillä on tarpeelliset tiedot tietoon tekemiseksi.
Vaakasuora kohdistus
Kaikki luettelokomponentit toteuttavat HasHorizontalAlignment
-rajapinnan, antamalla sinulle hallinnan siitä, miten teksti ja sisältö kohdistuvat komponentin sisällä.
Käytä setHorizontalAlignment()
-menetelmää kohdistuksen asettamiseen:
HorizontalAlignment.LEFT
(oletus)HorizontalAlignment.MIDDLE
HorizontalAlignment.RIGHT
ListBox<String> listBox = new ListBox<>();
listBox.setHorizontalAlignment(HorizontalAlignment.LEFT);
Saadaksesi nykyisen kohdistuksen:
HorizontalAlignment alignment = listBox.getHorizontalAlignment();
Laajuudet
Kaikki luettelokomponentit webforJ:ssä toteuttavat myös HasExpanse
-rajapinnan, jonka avulla voit säätää komponentin yleistä kokoa ja visuaalista painetta. Tämä on hyödyllistä mukautettaessa komponenttia eri käyttöliittymäyhteyksiin, kuten lomakkeisiin, dialogeihin, sivupaneeleihin jne.
Käytä setExpanse()
-menetelmää säätääksesi laajuustasoa. Vaihtoehdoista löytyy:
Expanse.NONE
Expanse.XSMALL
Expanse.SMALL
Expanse.MEDIUM
(oletus)Expanse.LARGE
Expanse.XLARGE
ListBox<String> listBox = new ListBox<>();
listBox.setExpanse(Expanse.LARGE);
Voit palauttaa nykyisen asetuksen seuraavasti:
Expanse current = listBox.getExpanse();
Aiheet
📄️ ChoiceBox
ChoiceBox -komponentti on käyttöliittymäelementti, joka on suunniteltu esittämään käyttäjille lista vaihtoehdoista tai valinnoista. Käyttäjät voivat valita yhden vaihtoehdon tästä listasta, yleensä napsauttamalla ChoiceBoxin kanssa. Kun käyttäjä tekee valinnan, valittu vaihtoehto näytetään sitten ChoiceBox:in napissa.
📄️ ComboBox
ComboBox-komponentti on käyttöliittymän elementti, joka on suunniteltu esittämään käyttäjille luettelo vaihtoehdoista tai valinnoista sekä kenttä omien mukautettujen arvojen syöttämistä varten. Käyttäjät voivat valita yhden vaihtoehdon tästä luettelosta, yleensä napsauttamalla ComboBoxin kanssa. Kun käyttäjä tekee valinnan, valittu vaihtoehto näytetään sitten ComboBox:issa.
📄️ ListBox
ListBox komponentti on käyttöliittymäelementti, joka on suunniteltu näyttämään vieritettävä lista objekteista ja sallii käyttäjien valita yksittäisiä tai useita kohteita listalta. Käyttäjät voivat myös käyttää ListBoxia nuolinäppäimillä.