DateField
DateField-komponentti antaa käyttäjien syöttää tai valita päivämäärän vuosien, kuukausien ja päivien mukaan. Se huolehtii validoinnista automaattisesti, joten väärin muotoiltuja päivämääriä havaitaan ennen lomakkeen lähettämistä.
Käyttäminen DateField
This class is a Field component, and inherits its features and behaviors. For an overview of Field properties, events, and other important information, please refer to the Field documentation.
DateField perii jaettu Field-luokan, joka tarjoaa yhteisiä ominaisuuksia kaikille kenttäkomponenteille. Seuraavassa esimerkissä luodaan lähtö- ja paluupäivämääräkentät, jotka pysyvät synkronoituna, ja niille asetetaan minimi- ja maksimirajoitukset valittavalle alueelle.
Näytä koodi
- DateFieldView.java
Kentän arvo (LocalDate)
DateField-komponentti tallentaa arvonsa sisäisesti LocalDate-objektina, joka edustaa päivämäärää ilman aikaa tai aikavyöhyketietoja. Tämä mahdollistaa kalenteripohjaisten syötteiden tarkan käsittelyn eri järjestelmissä.
Vaikka näytettävä arvo mukautuu käyttäjän selainalueeseen, varmistaen alueellisesti tutut muotoilut (esim. MM/DD/YYYY Yhdysvalloissa tai DD.MM.YYYY Euroopassa), parsittu arvo perustuu aina kiinteään muotoon yyyy-MM-dd.
LocalDate-arvon saaminen ja asettaminen
Nykyisen arvon hakemiseksi käytä getValue()-menetelmää:
LocalDate value = dateField.getValue();
Arvon asettamiseksi ohjelmallisesti käytä setValue()-menetelmää:
dateField.setValue(LocalDate.of(2024, 4, 27));
setText()-käyttäminen
Voit myös määrittää arvon raakana merkkijonona, mutta sen on noudatettava tarkkaa yyyy-MM-dd-muotoa:
dateField.setText("2024-04-27"); // voimassa
dateField.setText("04/27/2024"); // virheellinen
Kun käytät setText()-menetelmää, jos komponentti ei voi jäsentää syötettä yyyy-MM-dd-muodossa, heitetään IllegalArgumentException.
Käyttötapauksia
DateField on ihanteellinen päivämäärien valitsemiseen ja näyttämiseen sovelluksessasi. Tässä on muutamia esimerkkejä tilanteista, joissa kannattaa käyttää DateField:ia:
-
Tapahtumien aikataulutus ja kalenterit: Päivämääräkentät ovat välttämättömiä sovelluksissa, jotka liittyvät tapahtumien aikatauluttamiseen, tapaamisten varaamiseen tai tärkeiden päivien seuraamiseen.
-
Lomake syötteet: Yksinkertaista päivämäärän valintaprosessia käyttäjälle, joka täyttää lomaketta, joka vaatii päivämäärän, kuten syntymäpäivän.
-
Varaus- ja varausjärjestelmät: Sovellukset, jotka käsittelevät varausta ja varausjärjestelmiä, vaativat usein käyttäjiä syöttämään tiettyjä päivämääriä. Päivämääräkenttä sujuvoittaa prosessia ja varmistaa tarkan päivämäärän valinnan.
-
Tehtävien hallinta ja määräajat: Päivämääräkentät ovat arvokkaita sovelluksissa, jotka liittyvät tehtävien hallintaan tai määräaikojen asettamiseen. Käyttäjät voivat helposti määrittää eräpäiviä, aloituspäiviä tai muita aikarajoja.
Minimi- ja maksimiarvot
Minimiarvo
setMin()-menetelmä määrittää aikaisimman päivämäärän, jonka käyttäjä voi syöttää komponenttiin. Jos syöte on aikaisempi kuin määritetty vähimmäisarvo, se epäonnistuu ehtovaatimusten tarkistuksessa. Kun käytetään yhdessä setMax()-menetelmän kanssa, minimipäivämäärän on oltava sama tai aikaisempi kuin maksimi.
dateField.setMin(LocalDate.of(2023, 1, 1)); // Sallitut vähimmäispäivämäärät: 1. tammikuuta 2023
Maksimiarvo
setMax()-menetelmä määrittää viimeisen päivämäärän, jonka komponentti hyväksyy. Jos syötetty päivämäärä on myöhäisempi kuin määritetty maksimi, syöte on virheellinen. Kun molemmat arvot on määritetty, maksimipäivämäärän on oltava sama tai myöhempi kuin minimipäivämäärä.
dateField.setMax(LocalDate.of(2023, 12, 31)); // Sallitut maksimipäivämäärät: 31. joulukuuta 2023
Staattiset apufunktiot
DateField-luokka tarjoaa myös seuraavat staattiset apumenetelmät:
-
fromDate(String dateAsString): Muuntaa päivämäärämerkkijononyyyy-MM-dd-muodossaLocalDate-objektiksi, jota voidaan käyttää tässä kentässä tai muualla. -
toDate(LocalDate date): MuuntaaLocalDate-objektin päivämäärämerkkijonoksiyyyy-MM-dd-muodossa. -
isValidDate(String dateAsString): Tarkistaa, onko annettu merkkijono voimassayyyy-MM-dd-päivämäärä.
Parhaat käytännöt
Varmistaaksesi optimaalisen käyttäjäkokemuksen käyttäessäsi DateField-komponenttia, harkitse seuraavia parhaita käytäntöjä:
-
Esteettömyys: Käytä sopivia etikettejä varmistaaksesi, että apuvälineitä käyttävät käyttäjät voivat helposti navigoida ja käyttää päivämääräkenttiä sovelluksessasi.
-
Nykyisen päivämäärän automaattinen täyttäminen: Jos se on sovelluksesi käyttötapaan sopivaa, automaattisesti täytä päivämääräkenttä nykyisellä päivämäärällä.