Siirry pääsisältöön

Confirm

Avaa ChatGPT:ssä
Varjo 24.02
Java API

ConfirmDialog on modaalinen dialogi, joka on suunniteltu antamaan käyttäjän valita yhdestä enintään 3 vaihtoehdosta. Dialogi estää sovelluksen suorituksen, kunnes käyttäjä vuorovaikuttaa sen kanssa tai se sulkeutuu aikakatkaisun vuoksi.

Käyttö

ConfirmDialog tarjoaa tavan pyytää käyttäjiltä vahvistusta tai valita useiden vaihtoehtojen välillä, kuten Kyllä/Ei tai OK/Sulje, varmistaen, että he tunnustavat ja vahvistavat toimintonsa.

Näytä koodi

Tyypit

Vaihtoehtotyyppi

ConfirmDialog tukee seuraavia vaihtoehtotyyppejä, jotka määrittävät dialogissa näytettävät painikkeet:

  1. OK: Näyttää OK-painikkeen.
  2. OK_CANCEL: Näyttää OK- ja Peruuta-painikkeet.
  3. ABORT_RETRY_IGNORE: Näyttää Keskeytä, Uudelleen ja Ohita -painikkeet.
  4. YES_NO_CANCEL: Näyttää Kyllä, Ei ja Peruuta -painikkeet.
  5. YES_NO: Näyttää Kyllä ja Ei -painikkeet.
  6. RETRY_CANCEL: Näyttää Uudelleen ja Peruuta -painikkeet.
  7. CUSTOM: Näyttää mukautetut painikkeet määriteltyjen mukaan.

Viestintyyppi

ConfirmDialog tukee seuraavia viestintyyppiä. Kun konfiguroit tyyppiä, dialogi näyttää ikonin viestin vieressä, ja dialogin teema päivittyy webforJ-muotoilun sääntöjen mukaisesti.

  1. PLAIN: Näyttää viestin ilman ikonia, käyttäen oletusteemaa.
  2. ERROR: Näyttää virheikoni viestin vieressä virheteema käytössä.
  3. QUESTION: Näyttää kysymysmerkin ikonin viestin vieressä, käyttäen päätoteemaa.
  4. WARNING: Näyttää varoitusikoni viestin vieressä varoitusteema käytössä.
  5. INFO: Näyttää info-ikonin viestin vieressä, käyttäen info-teemaa.

Seuraavassa esimerkissä koodi konfiguroi vahvistusdialogin tyypiksi CUSTOM, jossa on mukautettu otsikko ja viesti.

Näytä koodi

Tulos

ConfirmDialog palauttaa tuloksen käyttäjän vuorovaikutuksen perusteella dialogin kanssa. Tämä tulos osoittaa, mikä painike käyttäjä klikattiin tai suljettiinko dialogi aikakatkaisun vuoksi.

important

Tulos palautetaan show()-metodista tai vastaavasta OptionDialog-metodista, kuten alla on esitetty.

ConfirmDialog.Result enum sisältää seuraavat mahdolliset tulokset:

  1. OK: Käyttäjä napsautti OK-painiketta.
  2. CANCEL: Käyttäjä napsautti PERUUTA-painiketta.
  3. YES: Käyttäjä napsautti KYLLÄ-painiketta.
  4. NO: Käyttäjä napsautti EI-painiketta.
  5. ABORT: Käyttäjä napsautti KESKEYTÄ-painiketta.
  6. RETRY: Käyttäjä napsautti UUDEN-painiketta.
  7. IGNORE: Käyttäjä napsautti OHITA-painiketta.
  8. FIRST_CUSTOM_BUTTON: Käyttäjä napsautti ensimmäistä mukautettua painiketta.
  9. SECOND_CUSTOM_BUTTON: Käyttäjä napsautti toista mukautettua painiketta.
  10. THIRD_CUSTOM_BUTTON: Käyttäjä napsautti kolmatta mukautettua painiketta.
  11. TIMEOUT: Dialogi aikakatkaisee.
  12. 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 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 suositellun 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 konfiguroida painikkeiden tekstiä 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 ConfirmDialog 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 asettaa aikakatkaisuajan, jonka jälkeen dialogi sulkeutuu automaattisesti. Tämä ominaisuus on hyödyllinen ei-kriittisille vahvistuksille tai toiminnoille, 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. Aikakatkaisu on sekunteina. 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äättääksesi", "Aikakatkaisu", "Selvä",
MessageDialog.MessageType.WARNING);
break;
case YES:
OptionDialog.showMessageDialog(
"Klikkasit Kyllä", "Kyllä", "Selvä",
MessageDialog.MessageType.INFO);
break;
default:
OptionDialog.showMessageDialog(
"Klikkasit Ei", "Ei", "Selvä",
MessageDialog.MessageType.INFO);
break;
}

Parhaat käytännöt

  1. Selkeät ja ytimekkäät kehotteet: Varmista, että kehotteessa on selvästi ilmoitettu, mitä toimintoa käyttäjältä pyydetään vahvistamaan. Vältä epäselvyyksiä.
  2. Sopivat vaihtoehtotyypit: Valitse vaihtoehtotyypit, jotka vastaavat toiminnan kontekstia. Yksinkertaisille kyllä/ei-päätöksille käytä suoraviivaisia vaihtoehtoja. Monimutkaisemmissa tilanteissa tarjoa lisäpainikkeita, kuten "Peruuta", jotta käyttäjät voivat perääntyä ilman päätöksentekoa.
  3. Looginen oletuspainike: Aseta oletuspainike, joka vastaa todennäköisintä tai suositeltua käyttäjän toimintoa päätöksenteon yksinkertaistamiseksi.
  4. Johdonmukainen teema: Yhdistele dialogin ja painikkeiden teemat sovelluksesi muotoilun kanssa yhtenäisen käyttäjäkokemuksen varmistamiseksi.
  5. Viisaasti käytetty aikakatkaisu: Aseta aikakatkaisuja ei-kriittisille vahvistuksille varmistaaksesi, että käyttäjillä on tarpeeksi aikaa lukea ja ymmärtää kehotteet.
  6. Ylihyödyntämisen minimointi: Käytä vahvistusdialogeja säästeliäästi käyttäjätyytyväisyyden välttämiseksi. Varaa niitä kriittisille toimille, jotka vaativat erillistä käyttäjän vahvistusta.