Confirm
ConfirmDialog on modal-dialogi, joka on suunniteltu antamaan käyttäjän valita yhdestä korkeintaan kolme vaihtoehtoa. Dialogi estää sovelluksen suorituksen, kunnes käyttäjä vuorovaikuttaa sen kanssa tai se sulkeutuu aikakatkaisun vuoksi.
Käytöt
ConfirmDialog tarjoaa tavan pyytää käyttäjiltä vahvistusta tai valitsemaan useista vaihtoehdoista, kuten Kyllä/Ei tai OK/Peruuta, varmistaen, että he tunnustavat ja vahvistavat toimintonsa.
Näytä koodi
- ConfirmDialogConstructorView.java
Tyypit
Vaihtoehtotyyppi
ConfirmDialog tukee seuraavia vaihtoehtotyyppejä, jotka määrittävät dialogissa näkyvät painikkeet:
OK: NäyttääOK-painikkeen.OK_CANCEL: NäyttääOK- jaPeruuta-painikkeet.ABORT_RETRY_IGNORE: NäyttääKeskeytä,Yritä uudelleenjaOhita-painikkeet.YES_NO_CANCEL: NäyttääKyllä,EijaPeruuta-painikkeet.YES_NO: NäyttääKylläjaEi-painikkeet.RETRY_CANCEL: NäyttääYritä uudelleenjaPeruuta-painikkeet.CUSTOM: Näyttää mukautettuja painikkeita, kuten on määritetty.
Viestintyyppi
ConfirmDialog tukee seuraavia viestintyppejä. Kun määrität tyypin, dialogi näyttää kuvakkeen viestin vieressä ja dialogin teema päivittyy webforJ -suunnittelujärjestelmän sääntöjen mukaan.
PLAIN: Näyttää viestin ilman kuvaketta, käyttäen oletusteemaa.ERROR: Näyttää virhekuvakkeen viestin vieressä virheteema käytössä.QUESTION: Näyttää kysymysmerkkikuvakkeen viestin vieressä, käyttäen ensisijaista teemaa.WARNING: Näyttää varoituskuvakkeen viestin vieressä varoitusteema käytössä.INFO: Näyttää infoikuvakkeen viestin vieressä, käyttäen info-teemaa.
Seuraavassa esimerkissä koodi määrittää vahvistusdialogin tyypiksi CUSTOM mukautetulla otsikolla ja viestillä.
Näytä koodi
- ConfirmDialogOptionsView.java
Tulos
ConfirmDialog palauttaa tuloksen käyttäjän vuorovaikutuksen perusteella dialogin kanssa. Tämä tulos ilmaisee, mikä painike käyttäjä napsautti tai suljettiinko dialogi aikakatkaisun vuoksi.
Tulos palautetaan show()-metodista tai vastaavasta OptionDialog-metodista, kuten alla on osoitettu.
ConfirmDialog.Result enum sisältää seuraavat mahdolliset tulokset:
OK: Käyttäjä napsauttiOK-painiketta.CANCEL: Käyttäjä napsauttiPERUUTA-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ä napsauttiOHITA-painiketta.FIRST_CUSTOM_BUTTON: Käyttäjä napsautti ensimmäistä mukautettua painikettaSECOND_CUSTOM_BUTTON: Käyttäjä napsautti toista mukautettua painikettaTHIRD_CUSTOM_BUTTON: Käyttäjä napsautti kolmatta mukautettua painikettaTIMEOUT: Dialogin aikakatkaisuaika umpeutuu.UNKNOWN: Tuntematon tulos, tyypillisesti käytetään oletus- tai virhetilana.
if (result == ConfirmDialog.Result.FIRST_CUSTOM_BUTTON) {
OptionDialog.showMessageDialog("Muutokset hylätty", "Hylätty", "Selvä");
} else {
OptionDialog.showMessageDialog(
"Muutokset tallennettu", "Tallennettu", "Selvä", MessageDialog.MessageType.INFO);
}
Oletuspainike
ConfirmDialog sallii sinun määrittää oletuspainikkeen, joka on esivalittu, kun dialogi näytetään. Tämä parantaa käyttäjäkokemusta tarjoamalla ehdotetun toiminnan, joka voidaan 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)-metodia.
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 poistaa tämän ominaisuuden käytöstä 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 sallii sinun määrittää aikakatkaisun, 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 välitöntä vuorovaikutusta.
Voit määrittää dialogin aikakatkaisun käyttämällä setTimeout(int timeout)-metodia. Aikakatkaisuaika on sekunneissa. Jos määritetty aika kuluu ilman käyttäjän vuorovaikutusta, 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 liikaa aikaa päätöksentekoon", "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 kehykset: Varmista, että kehysviesti selvästi selittää, mitä toimintoa käyttäjältä pyydetään vahvistamaan. Vältä epäselvyyksiä.
- Sopivat vaihtoehtotyypit: Valitse vaihtoehtotyypit, jotka vastaavat toiminnan kontekstia. Yksinkertaisille kyllä/ei-päätöksille, käytä yksinkertaisia vaihtoehtoja. Monimutkaisemmissa tilanteissa tarjoa lisäpainikkeita, kuten "Peruuta", jotta käyttäjät voivat peruuttaa ilman, että heidän täytyy tehdä valinta.
- Looginen oletuspainike: Aseta oletuspainike, joka vastaa todennäköisintä tai suositeltua käyttäjätoimintoa päätöksenteon sujuvoittamiseksi.
- Johdonmukainen teema: Yhdistele dialogin ja painikkeiden teemat sovelluksesi suunnittelun kanssa yhtenäisen käyttäjäkokemuksen saavuttamiseksi.
- Sijoita aikakatkaisua harkiten: Määritä aikakatkaisuja ei-kriittisille vahvistuksille, varmistaen, että käyttäjillä on riittävästi aikaa lukea ja ymmärtää kehotteet.
- Vältä liiallista käyttöä: Käytä vahvistusdialogeja säästeliäästi käyttäjien turhautumisen välttämiseksi. Varaudu niitä kriittisiin toimiin, jotka vaativat käyttäjän nimenomaista vahvistusta.