Confirm
ConfirmDialog on modaalinen dialogi, joka on suunniteltu mahdollistamaan käyttäjän valita yhden enintään kolmesta vaihtoehdosta. Dialogi estää ohjelman suorittamisen siihen asti, kun käyttäjä vuorovaikuttaa sen kanssa tai se sulkeutuu aikakatkaisun vuoksi.
Käyttötarkoitukset
ConfirmDialog tarjoaa tavan kysyä käyttäjiltä vahvistusta tai valita useiden vaihtoehtojen, kuten Kyllä/Ei tai OK/Peru, välillä, varmistaen että he tunnustavat ja vahvistavat toimintansa.
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- jaPeru-painikkeet.ABORT_RETRY_IGNORE: NäyttääPeru,Yritä uudelleenjaIgnoroi-painikkeet.YES_NO_CANCEL: NäyttääKyllä,EijaPeru-painikkeet.YES_NO: NäyttääKylläjaEi-painikkeet.RETRY_CANCEL: NäyttääYritä uudelleenjaPeru-painikkeet.CUSTOM: Näyttää mukautettuja painikkeita määriteltyjen mukaan.
Viestityyppi
ConfirmDialog tukee seuraavia viestityyppejä. Kun määrität tyyppiä, dialogi näyttää kuvakkeen viestin vieressä, ja dialogin teema päivitetään webforJ:n 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ää kysymysmerkin kuvakkeen viestin vieressä, käyttäen ensisijateemaa.WARNING: Näyttää varoituskuvakkeen viestin vieressä varoitusteema käytössä.INFO: Näyttää infokuvakkeen viestin vieressä, käyttäen infoteemaa.
Seuraavassa esimerkissä koodi määrittää vahvistusdialogin tyypiksi CUSTOM mukautetulla otsikolla ja viestillä.
Näytä koodi
- Java
Tulokset
ConfirmDialog palauttaa tuloksen käyttäjän vuorovaikutuksen perusteella dialogin kanssa. Tämä tulos osoittaa, minkä painikkeen käyttäjä napsautti tai sulkeutuiko dialogi aikakatkaisun vuoksi.
Tulos palautetaan show()-metodista tai vastaavasta OptionDialog-metodista, kuten alla on esitetty.
ConfirmDialog.Result enum sisältää seuraavat mahdolliset tulokset:
OK: Käyttäjä napsauttiOK-painiketta.PERU: Käyttäjä napsauttiPERU-painiketta.KYLLÄ: Käyttäjä napsauttiKYLLÄ-painiketta.EI: Käyttäjä napsauttiEI-painiketta.PERU: Käyttäjä napsauttiPERU-painiketta.Yritä uudelleen: Käyttäjä napsauttiYritä uudelleen-painiketta.Ignoroi: Käyttäjä napsauttiIgnoroi-painiketta.ENSIMMÄINEN_MUKAUTETTU_PAINIKKE: Käyttäjä napsautti ensimmäistä mukautettua painiketta.TOINEN_MUKAUTETTU_PAINIKKE: Käyttäjä napsautti toista mukautettua painiketta.KOLMAS_MUKAUTETTU_PAINIKKE: Käyttäjä napsautti kolmatta mukautettua painiketta.AIKAKATKAISU: Dialogi aikakatkaistaan.TUNNISTAMATON: Tunnistamaton tulos, käytetään yleensä oletus- tai virhetilanteena.
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 mahdollistaa oletuspainikkeen määrittämisen, joka on esivalittu, kun dialogi näytetään. Tämä parantaa käyttäjäkokemusta tarjoamalla suositellun toiminnon, 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) -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
Oletusarvoisesti vahvistusdialogi käsittelee ja renderoi HTML-sisältöä. Voit sulkea tämän ominaisuuden pois 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 mahdollistaa aikakatkaisuedellytyksen asettamisen, 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ää aikakatkaisun dialogille 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 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 kysymykset: Varmista, että kysymysviesti selvästi selittää, mitä toimintoa käyttäjältä kysytään vahvistettavaksi. Vältä epäselvyyksiä.
- Sopivat vaihtoehtotyypit: Valitse vaihtoehtotyypit, jotka vastaavat toiminnan kontekstia. Yksinkertaisille kyllä/ei-päätöksille käytä suoraviivaisia vaihtoehtoja. Monimutkaisemmissa tilanteissa tarjoa lisäpainikkeita, kuten "Peru", jotta käyttäjät voivat peruuttaa ilman valintaa.
- Looginen oletuspainike: Aseta oletuspainike, joka vastaa todennäköisintä tai suositeltua käyttäjän toimintoa päätöksenteon tehostamiseksi.
- Johdonmukainen teema: Yhdistele dialogi- ja painikketeemat sovelluksesi suunnitteluun yhtenäisen käyttäjäkokemuksen saavuttamiseksi.
- Aikakatkaisujen järkevä käyttö: Aseta aikakatkaisuja ei-kriittisille vahvistuksille varmistaen, että käyttäjillä on riittävästi aikaa lukea ja ymmärtää kysymys.
- Vähennä ylisuorittamista: Käytä vahvistusdialogeja säästeliäästi käyttäjäpettymysten välttämiseksi. Varaudu niihin kriittisissä toiminnoissa, jotka vaativat käyttäjän nimenomaista vahvistusta.