JOptionPane Fehler bei "Abbrechen" des Fensters

master123

Mitglied
Ich ein kleines Progrämmchen mit JOptionPane erstellt wo man Daten eingeben muss, die dann gespeichert und am Schluss wieder ausgegeben werden. Buttons sind "Weiter" und "Ok" am Schluss. Nichts besonderes. Alles funktioniert.
Nur wenn ich oben rechts auf den X-Button klicke stürzt das Programm mit rotem Fehlertext. Ich dachte jeder Button ist mit einem int Wert belegt, also versuchte ich den X-Button mit (-1) anzusprechen
if (klick == -1) {
System.out.println("du hast abgebrochen");
}
so in dem Sinne.
Aber das funktioniert nicht. Weiss jemand wie ich das anstelle?
 
1) Wie sieht denn der "rote Fehlertext" aus 😉
2)
Java:
if (klick == -1) {
System.out.println("du hast abgebrochen");
}
bricht ja erstmal das Programm nicht ab. Machst du nach der Abfrage noch was?
 
1) Wie sieht denn der "rote Fehlertext" aus 😉

Code:
    Exception in thread "main" java.lang.NumberFormatException: empty String
    at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
    at java.base/jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
    at java.base/java.lang.Double.parseDouble(Double.java:549)
    at Main.main(Main.java:21)

bricht ja erstmal das Programm nicht ab. Machst du nach der Abfrage noch was?

Ja, da geht es noch weiter. Aber das Problem ist ich weiss nicht wo ich den Code mit x-Button platzieren soll. Habe ihn schon überall platziert aber trotzdem geht's nicht. Also am Anfang habe ich eine Schlaufe, da werden bei jedem Klick auf "Weiter" mehr Daten eingegeben. Bei Klick auf OK wird das Programm beendet und die Eingaben zusammengefasst ausgegeben. Aber wenn ich an irgendeiner Stelle oben rechts auf X klicke bricht das Programm ab. Wie kann ich das abfangen?
 
Du müsstest mal den ganzen Code zeigen. Ich vermute, du musst einfach auf das -1 richtig reagieren und entscheidne, was passieren soll.
 
Wieso zeigt mir dann niemand wie es geht? 🙄
Ich verlange ja nicht dass man mir 1000 Zeilen code schreibt.
Ganz einfach:

Java:
switch (resultOfOptioNPane) {
  case JOptionPane.RESULT_CLOSED:
    // Code bei Abbruch
  case JOptionPane.RESULT_OK:
   // Code bei OK
}

Hilft das? Eher nein - dein Problem liegt vermutlich nicht in der JOptionPane sondern in genereller Programmlogik und Steuerung.
 
Es kann auch sein, dass er die Input-Variante verwendet, wo einen String zurückbekommt. Aber: ohne Code -> keine Lösung 🙂
 

Neue Themen


Zurück
Oben