Abbruch der laufenden Verarbeitung

Status
Nicht offen für weitere Antworten.

Ceene

Aktives Mitglied
Hallo

Ich habe mal ne Frage. Ich schreibe gerade ein Programm von C++ auf Java um. Jetzt hab ich ein warscheinlich blödes Problem. Ich finde einfach nicht das Javasynonym für die Funktion "Abort()" in C++. Die Funktion/Methode beendet den aktuellen Programmlauf. Also wie der Befehl schon sagt wird ab dem Befehl nicht mehr weiter gearbeitet und die Verarbeitung abgebrochen.

Kennt jemand das Sysnonym in Java dafür?
 
S

SlaterB

Gast
soweit ich weiß ist das in Java unmöglich,
wenn du ohne nebenläufige Threads arbeitest kann das Programm eh nicht auf irgendwelche Eingaben reagieren,

wenn doch nebenläufig, dann kannst du nur hoffen/ programmieren,
dass der arbeitende Thread alle x ms Luft holt und schaut, ob ihn irgendjemand zur Unterbrechung gebeten hat,
und dann selbstständig aufhört

-------

oder du meinst einfach
System.exit(0),
der ganz normale Befehl 'verlasse nun das Programm' ;)
 

Ceene

Aktives Mitglied
Nene das beendet ja das Programm.

Beispiel:
Ich prüfe drei Textfelder nachdem ich auf einen button geklickt habe ob diese ausgefüllt sind. Da es Pflichtfelder sind die für die Bearbeitung nötig sind müssen sie ausgefüllt sein. Also wenn sie nicht ausgefüllt sind, soll die Verarbeitung abgebrochen werden, das leere Feld soll den Focus erhalten und dann kann der Anwender wieder auf den Button klicken und es starten von neuem.

Code:
//Prüfen ob alle Pflichtfelder ausgefüllt sind
						if(jTextAusgabe.getText()=="")
						{
							System.out.print("Bitte füllen Sie alle Pflichtfelder (gelb) aus.");
							jTextAusgabe.requestFocus();
						}
						else if (jTextBenoetigteSaetze.getText()=="")
						{
							System.out.print("Bitte füllen Sie alle Pflichtfelder (gelb) aus.");
							jTextBenoetigteSaetze.requestFocus();
						}
						else if(jTextEingabe.getText()=="")
						{
							System.out.print("Bitte füllen Sie alle Pflichtfelder (gelb) aus.");
							jTextEingabe.requestFocus();
						}
						else if(jTextGesamtAnzahl.getText()=="")
						{
							System.out.print("Bitte füllen Sie alle Pflichtfelder (gelb) aus.");
							jTextGesamtAnzahl.requestFocus();
						}
						else if(jTextRest.getText()=="")
						{
							System.out.print("Bitte füllen Sie alle Pflichtfelder (gelb) aus.");
							jTextRest.requestFocus();
						}

Das muss doch gehen. Nur wie?
 
S

SlaterB

Gast
> soll die Verarbeitung abgebrochen werden

das musst du langsam näher erläutern,
wenn eines der ifs erfolgreich ist wird danach eh ans Ende gesprungen, die else kommen ja nicht mehr in Frage,

wenn du die aktuelle Operation beenden willst, dann
return;
wenn du mehrere ineinergeschachteltete Operationen zurückspringen willst
(z.B. zurück zum ActionListener, der nach einem Button-Klick das ganze ausgelöst hat),
dann hilft eine Exceptionen, schön ist das aber nicht

gehts in die Richtung?

----------


Strings immer mit equals vergleichen!:
jTextRest.getText().equals("")
 

Ceene

Aktives Mitglied
Also wenn er in einer von den Abfragen reispringt und dann fertig ist mit der Verarbeitung in der Abfrage, dann geht es in meinem Quellcode noch weiter also die Verarbeitung würde dann queasi erst richtig starten^^. Aber ich brauche eben die Feldinhalte und wenn da keiner steht dann soll er einfach die Verarbeitung abbrechen, so dass der Anwender wieder neu einen Wert in der Dialogmaske eingeben kann.

Ich hoffe ich konnte es einigermaßen gut rüberbringen.

Und danke für den Hinweis mit dem Stringvergleich.
 
S

SlaterB

Gast
wenn du nicht mit mir sprichst, dann kann ich auch nix neues beitragen,
noch mal die Wiederholung des vorherigen Vorschlags:

if(jTextAusgabe.getText().equals(""))
{
System.out.print("Bitte füllen Sie alle Pflichtfelder (gelb) aus.");
jTextAusgabe.requestFocus();
return;
} else {

..

}

// diese Stelle der gleichen Operation wird nicht ausgeführt wenn jTextAusgabe leer ist,
// return bricht die Operation ab
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben