DateField
DateField-komponentti mahdollistaa käyttäjien syöttävän tai valitsevan päiväyksen vuoden, kuukauden ja päivän mukaan. Se käsittelee voimassaolon tarkistuksen automaattisesti, joten väärin muotoillut päivämäärät 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 laajentaa jaettua Field-luokkaa, joka tarjoaa yleisiä ominaisuuksia kaikille kenttäkomponenteille. Seuraavassa esimerkissä luodaan lähtö- ja paluupäivämäärä kentät, jotka pysyvät synkronoituna, minimi- ja maksimi rajoituksilla, jotka rajoittavat valittavaa alueetta.
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öhyke-informaatiota. Tämä mahdollistaa kalenteripohjaisten syötteiden tarkan käsittelyn eri järjestelmissä.
Vaikka näytetty arvo mukautuu käyttäjän selaimen paikallistamiseen, varmistaen alueellisesti tutun muotoilun (esim. MM/DD/YYYY Yhdysvalloissa tai DD.MM.YYYY Euroopassa), jäsennelty arvo tukeutuu aina kiinteään muotoon yyyy-MM-dd.
LocalDate-arvon hakeminen ja asettaminen
Nykyisen arvon hakemiseksi käytä getValue()-metodia:
LocalDate value = dateField.getValue();
Arvon asettamiseen ohjelmallisesti käytä setValue()-metodia:
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"); // ei voimassa
setText()-metodia käytettäessä IllegalArgumentException heitetään, jos komponentti ei voi jäsentää syötettä muodossa yyyy-MM-dd.
Käytöt
DateField soveltuu erinomaisesti päivämäärien valitsemiseen ja näyttämiseen sovelluksessasi. Tässä on muutamia esimerkkejä siitä, milloin DateField-komponenttia kannattaa käyttää:
-
Tapahtumien aikataulutus ja kalenterit: Päivämääräkentät ovat välttämättömiä sovelluksissa, joissa aikatauloidaan tapahtumia, varataan aikoja tai pidetään kirjaa tärkeistä päivämääristä.
-
Lomakekentät: Helpota 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.
-
Varausjärjestelmät: Sovellukset, joissa on varausjärjestelmiä, vaativat usein käyttäjiltä tietojen syöttämistä tietyistä päivämääristä. Päivämääräkenttä sujuvoittaa prosessia ja varmistaa tarkan päivämäärän valinnan.
-
Tehtävien hallinta ja määräpäivämäärät: Päivämääräkentät ovat arvokkaita sovelluksissa, jotka liittyvät tehtävien hallintaan tai määräpäivämäärien asettamiseen. Käyttäjät voivat helposti määrittää eräpäiviä, aloituspäiviä tai muita aikarajoitteisia tietoja.
Minimi- ja maksimiarvo
Minimiarvo
setMin()-metodi määrittelee 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 rajoitusvalidoinnissa. Kun käytetään yhdessä setMax()-metodin kanssa, vähimmäisen on oltava päivämäärä, joka on sama tai aikaisempi kuin maksimi.
dateField.setMin(LocalDate.of(2023, 1, 1)); // Vähimmäis sallittu: 1. tammikuuta 2023
Maksimiarvo
setMax()-metodi määrittelee viimeisen päivämäärän, jonka komponentti hyväksyy. Jos syötetty päivämäärä on myöhempi kuin määritetty maksimi, syöte on virheellinen. Kun molemmat arvot on määritetty, maksimin on oltava päivämäärä, joka on sama tai myöhempi kuin minimum.
dateField.setMax(LocalDate.of(2023, 12, 31)); // Maksimi sallittu: 31. joulukuuta 2023
Staattiset apuohjelmat
DateField-luokka tarjoaa myös seuraavat staattiset apuohjelmat:
-
fromDate(String dateAsString): Muuntaa aikamuotoisen päivämäärämerkkijononyyyy-MM-dd-muodossaLocalDate-objektiksi, jota voidaan sitten käyttää tällä kentällä tai muualla. -
toDate(LocalDate date): MuuntaaLocalDate-objektin päivämäärämerkkijonoksiyyyy-MM-dd-muodossa. -
isValidDate(String dateAsString): Tarkistaa, onko annettu merkkijono voimassa olevayyyy-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ä oikeita etikettejä varmistaaksesi, että apuvälineitä käyttävät käyttäjät voivat helposti navigoida ja käyttää sovelluksesi päivämääräkenttiä.
-
Automaattinen nykyisen päivämäärän täydentäminen: Jos se on sopivaa sovelluksesi käyttötarkoitukseen, täytä päivämääräkenttä automaattisesti nykyisellä päivämäärällä.