Vahvistusdialogi
ConfirmDialog
on modaalinen dialogi, joka on suunniteltu sallimaan käyttäjän valita yhdestä enintään 3 vaihtoehdosta. Dialogi estää sovelluksen suorittamisen, kunnes käyttäjä vuorovaikuttaa sen kanssa tai se sulkeutuu aikakatkaisun vuoksi.
ConfirmDialog.Result result = OptionDialog.showConfirmDialog(
"Vahvistatko?",
"Vahvistus",
ConfirmDialog.OptionType.OK_CANCEL,
ConfirmDialog.MessageType.QUESTION);
Käytännöt
ConfirmDialog
tarjoaa tavan kysyä käyttäjiltä vahvistusta tai valita useiden vaihtoehtojen välillä, kuten Kyllä/Ei
tai OK/Peruuta
, varmistaen, että he tunnustavat ja vahvistavat toimintonsa.
Näytä Koodi
- Java
Tyypit
Vaihtoehtotyyppi
ConfirmDialog
tukee seuraavia vaihtoehtotyyppejä, jotka määrittävät dialogissa näytettävät painikkeet:
OK
: NäyttääOK
-painikkeen.OK_CANCEL
: NäyttääOK
- jaPeruuta
-painikkeet.ABORT_RETRY_IGNORE
: NäyttääKeskeytä
,Yritä uudelleen
jaIgnoroi
-painikkeet.YES_NO_CANCEL
: NäyttääKyllä
,Ei
jaPeruuta
-painikkeet.YES_NO
: NäyttääKyllä
jaEi
-painikkeet.RETRY_CANCEL
: NäyttääYritä uudelleen
jaPeruuta
-painikkeet.CUSTOM
: Näyttää mukautettuja painikkeita määritellyn mukaisesti.
Viestintyyppi
ConfirmDialog
tukee seuraavia viestintyyppejä. Kun määrität tyyppiä, dialogi näyttää kuvakkeen viestin vieressä, ja dialogin teema päivittyy webforJ:n muotoilujärjestelmän sääntöjen mukaisesti.
PLAIN
: Näyttää viestin ilman kuvaketta, käyttäen oletusteemaa.ERROR
: Näyttää virhekuvakkeen viestin vieressä virheteeman ollessa aktiivinen.QUESTION
: Näyttää kysymysmerkin kuvakkeen viestin vieressä, käyttäen ensisijaista teemaa.WARNING
: Näyttää varoituskuvakkeen viestin vieressä varoitusteeman ollessa aktiivinen.INFO
: Näyttää infokuvakkeen viestin vieressä, käyttäen info-teemaa.
Seuraavassa esimerkissä koodi määrittää vahvistusdialogin tyyppiä CUSTOM
, jossa on mukautettu otsikko ja viesti.
Näytä Koodi
- Java
Tulos
ConfirmDialog
palauttaa tuloksen käyttäjän vuorovaikutuksen perusteella dialogin kanssa. Tämä tulos osoittaa, mikä painike käyttäjää napsautettiin tai suljettiinko dialogi aikakatkaisun vuoksi.
Tulos palautetaan show()
-menetelmällä tai vastaavalla OptionDialog
-menetelmällä, kuten alla on esitetty.
ConfirmDialog.Result
-enum sisältää seuraavat mahdolliset tulokset:
OK
: Käyttäjä napsauttiOK
-painiketta.CANCEL
: Käyttäjä napsauttiCANCEL
-painiketta.YES
: Käyttäjä napsauttiKyllä
-painiketta.NO
: Käyttäjä napsauttiEi
-painiketta.ABORT
: Käyttäjä napsauttiKeskeytä
-painiketta.RETRY
: Käyttäjä napsauttiYritä uudelleen
-painiketta.IGNORE
: Käyttäjä napsauttiIgnoroi
-painiketta.FIRST_CUSTOM_BUTTON
: Käyttäjä napsautti ensimmäistä mukautettua painiketta.SECOND_CUSTOM_BUTTON
: Käyttäjä napsautti toista mukautettua painiketta.THIRD_CUSTOM_BUTTON
: Käyttäjä napsautti kolmatta mukautettua painiketta.TIMEOUT
: Dialogin aikakatkaisu.UNKNOWN
: Tuntematon tulos, jota käytetään tyypillisesti oletus- tai virhetilassa.
if (result == ConfirmDialog.Result.FIRST_CUSTOM_BUTTON) {
OptionDialog.showMessageDialog("Muutokset hylättiin", "Hylätty", "Selvä");
} else {
OptionDialog.showMessageDialog(
"Muutokset tallennettiin", "Tallennettu", "Selvä", MessageDialog.MessageType.INFO);
}
Oletuspainike
ConfirmDialog
antaa sinun määrittää oletuspainikkeen, joka on esivalittu, kun dialogi näytetään. Tämä parantaa käyttäjäkokemusta tarjoamalla ehdotetun toiminnan, jonka voi nopeasti vahvistaa painamalla Enter-näppäintä.
ConfirmDialog dialog = new ConfirmDialog(
"Oletko varma?", "Vahvista", ConfirmDialog.OptionType.YES_NO);
dialog.setDefaultButton(Button.SECOND); // toinen painike
dialog.show();
Painikkeiden teksti
Voit määrittää painikkeiden tekstin käyttämällä setButtonText(ConfirmDialog.Button button, String text)
-menetelmää.
ConfirmDialog dialog = new ConfirmDialog(
"Oletko varma?", "Vahvista", ConfirmDialog.OptionType.CUSTOM);
dialog.setButtonText(ConfirmDialog.Button.FIRST, "Ehdottomasti");
dialog.setButtonText(ConfirmDialog.Button.SECOND, "Ei");
dialog.show();
HTML-käsittely
Oletuksena vahvistusdialogi käsittelee ja renderoi HTML-sisältöä. Voit sammuttaa tämän ominaisuuden määrittämällä sen näyttämään raakatekstiä sen sijaan.
ConfirmDialog dialog = new ConfirmDialog(
"<b>Oletko varma?</b>", "Vahvista",
ConfirmDialog.OptionType.YES_NO, ConfirmDialog.MessageType.QUESTION);
dialog.setRawText(true);
dialog.show();
Aikakatkaisu
ConfirmDialog
antaa sinun määrittää aikakatkaisua ajan, jonka jälkeen dialogi sulkeutuu automaattisesti. Tämä ominaisuus on hyödyllinen ei-kriittisille vahvistuksille tai toimille, jotka eivät vaadi käyttäjän heti vuorovaikutusta.
Voit määrittää aikakatkaisun dialogille käyttämällä setTimeout(int timeout)
-menetelmää. Aikakatkaisuaika on sekunneissa. Jos määritetty aika kuluu ilman, että käyttäjä vuorovaikuttaa, dialogi sulkeutuu automaattisesti.
ConfirmDialog dialog = new ConfirmDialog(
"Oletko varma?", "Vahvista", ConfirmDialog.OptionType.YES_NO);
dialog.setDefaultButton(Button.SECOND);
dialog.setTimeout(3);
ConfirmDialog.Result result = dialog.show();
switch (result) {
case TIMEOUT:
OptionDialog.showMessageDialog(
"Käytit liian kauan päättämiseen", "Aikakatkaisu", "Selvä",
MessageDialog.MessageType.WARNING);
break;
case YES:
OptionDialog.showMessageDialog(
"Napsautit Kyllä", "Kyllä", "Selvä",
MessageDialog.MessageType.INFO);
break;
default:
OptionDialog.showMessageDialog(
"Napsautit Ei", "Ei", "Selvä",
MessageDialog.MessageType.INFO);
break;
}
Parhaat käytännöt
- Selkeät ja ytimekkäät kehut: Varmista, että kehupäivämäärä selkeästi selittää, mitä toimintoa käyttäjältä kysytään vahvistettavaksi. Vältä epäselvyyksiä.
- Sopivat vaihtoehtotyypit: Valitse vaihtoehtotyypit, jotka vastaavat toiminnan kontekstia. Yksinkertaisiin kyllä/ei-päätöksiin käytä suoraviivaisia vaihtoehtoja. Monimutkaisemmissa tilanteissa tarjoa lisäpainikkeita, kuten "Peruuta", jotta käyttäjät voivat peruuttaa valinnat tekemättä päätöstä.
- Looginen oletuspainike: Aseta oletuspainike, joka vastaa todennäköisintä tai suositeltua käyttäjän toimintaa päätöksenteon sujuvoittamiseksi.
- Johdonmukainen teema: Yhdistele dialogin ja painikkeiden teemat sovelluksesi muotoilun kanssa, jotta saavutetaan yhtenäinen käyttäjäkokemus.
- Käytä aikakatkaisuja harkiten: Aseta aikakatkaisuja ei-kriittisille vahvistuksille varmistaen, että käyttäjillä on riittävästi aikaa lukea ja ymmärtää kehupäivämäärät.
- Vähennä käyttöä: Käytä vahvistusdialogeja säästeliäästi käyttäjätyytyväisyyden välttämiseksi. Varaudu niitä kriittisiin toimintoihin, jotka vaativat käyttäjän nimenomaista vahvistusta.