JOptionPane canel button werkt niet(Door mijn do while lus)

  • Onderwerp starter Onderwerp starter Agap
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Agap

Gebruiker
Lid geworden
1 nov 2010
Berichten
40
Ik heb de volgende stukje code:


Code:
int hoevaak = 0;

do {
            try {
                hoevaakString = (String)JOptionPane.showInputDialog(null, "Hoevaak wil je spelen?", "Game",  JOptionPane.QUESTION_MESSAGE, icon, null, null);
                hoevaak = Integer.parseInt(hoevaakString);


            } catch (NumberFormatException e) {
                JOptionPane.showMessageDialog(null, "Dat is geen getal jongeman", "Game",  JOptionPane.INFORMATION_MESSAGE ,icon);
            }
        } while (hoevaak == 0);

Nu ook als ik cancel druk, alsnog blijkft hoevaak 0 dus gaat ie niet cancellen maar gewoon weer de lus herhalen. Hoe los ik dit op?
while (hoevaak == 0) gebruik ik om te controleren of er een getal ingevoerd is of niet, misschien weten jullie daar een betere manier voor?

Ik heb eerst geprobeerd om te googlen naar de oplossing, maar dit is mij niet gelukt.
 
Laatst bewerkt:
Natuurlijk zal je lus blijven gaan. Je geeft een instantie van 'hoevaak = 0' als je op cancel duwt wordt hoevaak niet opgevuld met een nieuwe waarde omdat je niets ingeeft. Je zal in de catch blok terecht komen en hoevaak blijft 0 hebben omdat je dat boven gedeclareerd hebt. Je kan bv in je catch blok zeggen 'hoevaak = -1'. Dan zal je uit de lus gaan.. Ik weet natuurlijk niet wat je met die hoevaak wil doen...
 
@dieterke mogelijks is die constuctie zo gekozen dat het getal dient hoger te zijn als null
dus zal hij die willen bij cancel terugzetten naar vorige waarde
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan