MaskedNumberField
MaskedNumberField
on tekstiä syöttävä kenttä, joka on suunniteltu strukturoituun numeeriseen syöttöön. Se varmistaa, että numerot muotoillaan johdonmukaisesti määritetyn maskin perusteella, mikä tekee siitä erityisen hyödyllisen talouslomakkeissa, hintakentissä tai missä tahansa syötteessä, jossa tarkkuus ja luettavuus ovat tärkeitä.
Tämä komponentti tukee numeroiden muotoilua, desimaali- ja ryhmittelymerkkejä sekä valinnaisia arvorajoja, kuten minimi- tai maksimiarvoja.
Perusasiat
MaskedNumberField
voidaan instansioida parametreilla tai ilman. Se tukee alkuarvon, labelin, paikkamerkin ja tapahtumakuuntelijan asettamista, joka reagoi arvojen muutoksiin.
Tässä demossa esitellään Vihje Laskin, joka käyttää MaskedNumberField
-komponenttia intuitiiviseen numeeriseen syöttöön. Yksi kenttä on määritetty hyväksymään muotoiltu laskutusmäärä, kun taas toinen tallentaa kokonaislukuisen tipin prosenttiosuuden. Molemmat kentät soveltavat numeerisia maskseja varmistaakseen johdonmukaisen ja ennustettavan muotoilun.
Näytä koodi
- Java
Maskisäännöt
MaskedNumberField
käyttää maskijonoa ohjaamaan, kuinka numeerinen syöttö muotoillaan ja näytetään.
Jokainen merkki maskissa määrittää erityisen muotoilukäyttäytymisen, mikä mahdollistaa tarkkaa hallintaa numeroiden näkyvyydestä.
Maskimerkit
Merkki | Kuvaus |
---|---|
0 | Korvataan aina numerolla (0–9). |
# | Estää etunollat. Korvataan täyttömerkillä desimaalipisteen vasemmalla puolella. Viimeisten numeroiden kohdalla korvataan tilalla tai nollalla. Muuten korvataan numerolla. |
, | Käytetään ryhmittelyerottimena (esim. tuhannet). Korvataan täyttömerkillä, jos edellä ei ole numeroita. Muuten näkyy pilkku. |
- | Näyttää miinusmerkin (- ), jos numero on negatiivinen. Korvataan täyttömerkillä, jos positiivinen. |
+ | Näyttää + positiivisille tai - negatiivisille numeroille. |
$ | Tuottaa aina dollarimerkin. |
( | Liittää vasemman sulkumerkin ( negatiivisille arvoille. Korvataan täyttömerkillä, jos positiivinen. |
) | Liittää oikean sulkumerkin ) negatiivisille arvoille. Korvataan täyttömerkillä, jos positiivinen. |
CR | Näyttää CR negatiivisille numeroille. Näyttää kaksi tyhjää tilaa, jos numero on positiivinen. |
DR | Näyttää CR negatiivisille numeroille. Näyttää DR positiivisille numeroille. |
* | Liittää asteriskin * . |
. | Merkitsee desimaalipistettä. Jos tulosteessa ei esiinny numeroita, korvataan täyttömerkillä. Desimaaleiden jälkeen täyttömerkit käsitellään tiloina. |
B | Muuttuu aina tilaksi. Mikä tahansa muu kirjainmerkitään sellaisenaan. |
Joitakin yllä mainituista merkkeistä voi esiintyä useammin maskissa muotoilua varten. Näitä ovat -
, +
, $
ja
(
. Jos jokin näistä merkeistä on läsnä maskissa, ensimmäinen, jota kohdellaan, siirretään viimeiseen paikkaan, jossa #
tai ,
korvattiin täyttömerkillä. Jos ei tällaista paikkaa ole, kaksoismerkki jää paikalleen.
Maski kentässä ei PYÖRISTÄ. Esimerkiksi, jos asetat arvon 12.34567
kenttään, joka on maskattu ###0.00
, saat 12.34
.
Ryhmittely- ja desimaalierottimet
MaskedNumberField
tukee ryhmittely- ja desimaalimerkkien mukauttamista, mikä helpottaa numeroiden muotoilua eri paikallisiin vaatimuksiin tai liiketoimintakäytäntöihin.
- Ryhmittelyerotin käytetään visuaalisena erottimena tuhansille (esim.
1,000,000
). - Desimaalierotin osoittaa numeroiden murtoluvun osan (esim.
123.45
).
Tämä on hyödyllistä kansainvälisissä sovelluksissa, joissa eri alueet käyttävät erilaisia merkkejä (esim. .
vs ,
).
field.setGroupCharacter("."); // esimerkki: 1.000.000
field.setDecimalCharacter(","); // esimerkki: 123,45
Oletuksena MaskedNumberField
soveltaa ryhmittely- ja desimaalierottimia sovelluksen nykyisen paikallisuuden mukaan. Voit ohittaa niitä milloin tahansa tarjoamiesi asetusten avulla.
Negatiivinen
MaskedNumberField
tukee vaihtoehtoa, jolla voidaan hallita, sallitaanko negatiiviset numerot.
Oletuksena negatiiviset arvot, kuten -123.45
, ovat sallittuja. Estääksesi tämän, käytä setNegateable(false)
rajoittaaksesi syötteen vain positiivisiin arvoihin.
Tämä on hyödyllistä liiketoimintaskenaarioissa, joissa arvot, kuten määrät, yhteismäärät tai prosenttiosuudet, on aina oltava ei-negatiivisia.
field.setNegateable(false);
Kun negatable
asetetaan arvoon false
, kenttä estää kaikki yrittämät syöttää miinusmerkkiä tai muuten syöttää negatiivisia arvoja.
Näytä koodi
- Java
Minimi- ja maksimiarvot
MaskedNumberField
tukee numeeristen raja-arvojen asettamista setMin()
ja setMax()
avulla.
Nämä rajoitukset auttavat varmistamaan, että käyttäjän syöte pysyy voimassa olevassa ja odotetussa alueessa.
-
Minimiarvo
KäytäsetMin()
määrittääksesi alin hyväksyttävä numero:field.setMin(10.0); // Minimiarvo: 10
Jos käyttäjä syöttää numeron tämän rajan alapuolelle, se katsotaan voimattomaksi.
-
Maksimiarvo
KäytäsetMax()
määrittääksesi korkein hyväksyttävä numero:field.setMax(100.0); // Maksimiarvo: 100
Arvot, jotka ylittävät tämän rajan, merkitään voimattomiksi.
Arvon palauttaminen
MaskedNumberField
tukee palautustointa, joka nollaa kentän arvon ennalta määritettyyn tilaan.
Tämä on hyödyllistä, kun käyttäjät tarvitsevat muutosten kumoamista, vahingossa tehtyjen muokkausten palauttamista tai paluuta tunnettuun oletusarvoon.
Ota tämä käyttäytyminen käyttöön määrittämällä kohdearvo setRestoreValue()
avulla.
Tarvittaessa kenttä voidaan palauttaa ohjelmallisesti käyttämällä restoreValue()
.
numberField.setRestoreValue(1500.00);
numberField.restoreValue();
Tavat palauttaa arvo
- Ohjelmallisesti käyttäen
restoreValue()
- Näppäimistön kautta, painamalla ESC (tämä on oletuspalautusnäppäin, ellei sitä ole ylikirjoitettu)
Palautusarvo on asetettava nimenomaisesti. Jos sitä ei määritetä, toiminto ei palauta kenttää.
Näytä koodi
- Java
MaskedNumberFieldSpinner
MaskedNumberFieldSpinner
laajentaa MaskedNumberField
lisäämällä spinneriohjaimet, jotka antavat käyttäjille mahdollisuuden lisätä tai vähentää arvoa käyttämällä askelpainikkeita tai nuolinäppäimiä.
Tämä on ihanteellinen syötteissä, kuten määrät, hinnoittelusäätö, arviointiohjaimet tai missä tahansa tilanteessa, jossa käyttäjät tekevät vähittäismuutoksia.
Näytä koodi
- Java
Avainominaisuudet
-
Askelveloitukset
KäytäsetStep()
määrittääksesi, kuinka paljon arvon tulee muuttua jokaisen pyörityksen myötä:spinner.setStep(5.0); // Jokainen pyöritys lisää tai vähentää 5
-
Interaktiiviset ohjaimet
Käyttäjät voivat napsauttaa spinner-painikkeita tai käyttää näppäimistösyöttöä arvon säätämiseen. -
Kaikki ominaisuudet MaskedNumberFieldista
Täydellinen tuki maskeille, muotoilulle, ryhmittely-/desimaalimerkeille, min/max-rajoituksille ja palautuslogiikalle.