for Schleife mit Swing Button abbrechen

Myar

Mitglied
Hallöchen!

Folgendes Problem:

Ich möchte eine for schleife die über eine arraylist iteriert durch Klick auf einen Button beenden können.

Also im Prinzip wird ein Suchlauf gestartet und ich möchte abbrechen können und dann ist das Ding beendet. Ich brauche halt die for schleife, da ich den Index brauche.

Meine Klasse:

Java:
public class Linkseinpflegenctrl implements sqlverbindung {
    static File dieVorlageDatei;
    private Linkseinpflegen einDateiCtrl;
    private int i;
    private String sql;
    private ResultSet res;
    private int result;
    private JFrame main;
    public boolean weiter = true;
    
    public Linkseinpflegenctrl(JFrame main){
        this.main = main;
        einDateiCtrl = new Linkseinpflegen();
        einDateiCtrl.lesenfile(dieVorlageDatei);
        this.FindGameLink();
    }
    private void FindGameLink(){
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                for (i=0; i<einDateiCtrl.arrgamelink.size();i++){
                    try {
                        sql = "ein statement"; //ich suche nach dem String aus der ArrayList in der DB
                        res = v.executeSelect(v, sql);
                        while (res.next())
                            result = res.getInt(1);
                        
                        if(result == 0){ //habe nichts gefunden, also wird im neuen Frame eine Auswahl angeboten oder ich kann was neu anlegen
                            einDateiCtrl.getGameList(i, main);
                            Object[] daten = {einObject mit vielen Listen};
                            this.setNewFrame(daten);
                        }else{//ich update einen Link
                            einDateiCtrl.updateLink(i);
                        }
                    } catch (SQLException ex) {
                        Logger.getLogger(Linkseinpflegenctrl.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
            private void setNewFrame(Object[] daten){
                new ErrorFrame(main, daten, i).setVisible(true);
            }
        });
        t.start();
    }
}

Wie man sieht, habe ich bereits gegoogelt und war zumindest so weit, die Schleife in nen eigenen Thread zu packen. Da hakt es nun.

Die Schleife in Zeile 21. gilt es halt abzubrechen. Der Button wäre in dem neuen Frame "ErrorFrame" (Zeile 41.).

MfG
Myar
 
Zuletzt bearbeitet:

Fab1

Top Contributor
Hallo kann mir deinen Code gerade nicht im Detail anschauen, aber Vorgehensweise wäre folgende:

Du hast deine Schleife, die lässt du so wie sie ist.
Du erstellt eine boolean Variable, diese wird per Button klick auf false geändert.

In einer Schleife brauchst du nun noch eine Abfrage ob die boolean Variable true/false ist, wenn false, dann kannst du die Schleife ja beenden.

Viel Erfolg.
 

6dc

Mitglied
Eigentlich ganz easy, zum Beispiel ein Boolean Attribut auf true setzen wenn im Listener der Button gedrückt wurde...
 

Myar

Mitglied
Manchmal steht man auch aufm Schlauch...

Meine Lösung sieht so aus:

Java:
for (i=0; i<einDateiCtrl.arrgamelink.size();i++){
            if(!weiter)
                break;

Ist das so, wie ihr euch das vorstellt? Scheint aber zu funktionieren...
 

eRaaaa

Top Contributor
Naja, man hätte auch den Thread stoppen/unterbrechen können oder nicht? Denn diese Lösung kann, muss aber nicht funktionieren, zumindest so wie sie jetzt ist und so wie von allen hier vorgeschlagen. Ich würde das Wörtchen volatile noch ergänzen wollen :D
 

Myar

Mitglied
Einfach den Thread stoppen mit
Code:
t.stop();
hat Netbeans gemeckert, dass man das nicht machen soll.

volatile musste ich erstmal googeln :D Aber habs nu verwendet. Danke für den Hinweis :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
A Wie schreibe ich eine For-Schleife in ein Stream API um? Allgemeine Java-Themen 12
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
MangoTango Operatoren while-Schleife für Potenz Allgemeine Java-Themen 3
berserkerdq2 Wie synchronisiere ich eine for-Schleife Allgemeine Java-Themen 12
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
M Schleife für einen TicTacToe Computer Allgemeine Java-Themen 5
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
A For-Schleife Allgemeine Java-Themen 5
J Algorithmen Analyse einer Schleife Allgemeine Java-Themen 6
1 Klassen Variabel aus Schleife übergeben Allgemeine Java-Themen 8
D "Automatisierte", variable verschachtele for-Schleife Allgemeine Java-Themen 9
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
K For-Schleife <> oder != Operator verwenden? Allgemeine Java-Themen 2
J Einen Thread in einer Schleife Allgemeine Java-Themen 2
D While-Schleife - if Zweig unterbrechen Allgemeine Java-Themen 1
F Zweifache For-Schleife Allgemeine Java-Themen 6
P Operatoren Problem mit Zähler in recursiver Schleife Allgemeine Java-Themen 2
T String aus While Schleife für ganze Klasse sichtbar machen Allgemeine Java-Themen 5
M While-Schleife schneller, solange die Abbruchbedingung nicht vom Schleifeninneren abhängt Allgemeine Java-Themen 3
S Variablen String[] Array per schleife in int[] einlesen Allgemeine Java-Themen 8
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
RalleYTN Problem bei Schleife die durch einen 2D raum iterieren soll Allgemeine Java-Themen 1
T for - Schleife Allgemeine Java-Themen 1
J While Schleife ausführen bis Zahl = X Allgemeine Java-Themen 19
R Komplizierte Schleife Allgemeine Java-Themen 1
Q For-Schleife in String-Value Allgemeine Java-Themen 3
F Abstrakte Klasse in "For each" Schleife Allgemeine Java-Themen 1
F for-Schleife auf Kommandoebene ausgeben Allgemeine Java-Themen 9
P Input/Output java.util.Scanner in einer Schleife und Exception-Behandlung: Einlesen einer Zahl Allgemeine Java-Themen 4
P Erweiterte For Schleife Allgemeine Java-Themen 7
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
Y automatisierte for Schleife Allgemeine Java-Themen 13
B For schleife und weiter? Allgemeine Java-Themen 8
D Probleme bei for-Schleife Allgemeine Java-Themen 4
L einfache Verzinsung mit for-Schleife & Ausschluss von Werten beim Einlesen Allgemeine Java-Themen 5
N Frage zur while-Schleife Allgemeine Java-Themen 18
M PdfPTable per for-Schleife befüllen Allgemeine Java-Themen 3
F for-Schleife mit : Allgemeine Java-Themen 5
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
W Problem mit Index in einer for-Schleife Allgemeine Java-Themen 8
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
P Variablen Auf durch for-Schleife generierte JComboBox zugreifen Allgemeine Java-Themen 3
G while Schleife ausführen solange eine Taste gedrückt ist Allgemeine Java-Themen 14
F Foreach und for - Schleife Allgemeine Java-Themen 10
W Berechnung Durchschnitt mit Schleife Allgemeine Java-Themen 9
S for-Schleife, while-Schleife Problem Allgemeine Java-Themen 6
H Netbeans Warning bei Thread.sleep in Schleife Allgemeine Java-Themen 4
A java.lang.NullPointerException bei Schleife Allgemeine Java-Themen 3
S Erste Schritte Exception beendet Schleife nicht - Methode macht trotz throw weiter? Allgemeine Java-Themen 9
R while schleife auf 3 durchgänge beschränken Allgemeine Java-Themen 6
V anstatt thread.join() einfach while schleife? Allgemeine Java-Themen 8
x22 for-Schleife Allgemeine Java-Themen 76
S Text in for Schleife in Label einfügen Allgemeine Java-Themen 4
J Schleife mit : Allgemeine Java-Themen 18
S Klassen in einer Schleife durchlaufen Allgemeine Java-Themen 11
E Schleife wird nicht ausgeführt!!! Allgemeine Java-Themen 8
C Schleife mit leerem Anweisungsblock wird trotz erfüllter Bedingung nicht verlassen Allgemeine Java-Themen 9
S Do-While Schleife bricht nicht ab Allgemeine Java-Themen 3
S Erste Schritte if-Anweisung in for- oder while-schleife umwandeln Allgemeine Java-Themen 3
K CheckBox schleife Allgemeine Java-Themen 2
D Methoden Thread Schleife Status Allgemeine Java-Themen 7
J Verschiedene Klassen als "Object" in ArrayList und dann in for-Schleife erzeugen!? Allgemeine Java-Themen 2
R In einer for Schleife bei einem Substring anfangen, wo man davor aufgehört hat Allgemeine Java-Themen 6
T Rekursion mit While Schleife kombinieren? Allgemeine Java-Themen 4
D Sterne Muster mit einer Schleife Allgemeine Java-Themen 5
Dragonfire Code Konvention for-Schleife / return Allgemeine Java-Themen 15
hdi Detail-Frage zur for-Schleife Allgemeine Java-Themen 9
J Thread pausieren, lange while-Schleife Allgemeine Java-Themen 8
Q Variable aus Schleife/Switch benutzen Allgemeine Java-Themen 7
J Erweiterte For-Schleife mit Vector Allgemeine Java-Themen 5
C Geschachtelte For-Schleife: Äußere Schleife wird nur einmal durchlaufen!? Allgemeine Java-Themen 3
W While-ESC-Schleife funktioniert nicht Allgemeine Java-Themen 3
W return Collection mit schleife durchsuchen Allgemeine Java-Themen 10
H Threads.... ich will aus der While-Schleife raus Allgemeine Java-Themen 6
calzone Warum wird nicht aus der Schleife gesprungen ? Allgemeine Java-Themen 2
lacyuu Schleife hängt sich auf, wieso?? Allgemeine Java-Themen 2
ModellbahnerTT Problem: Schleife über Textdatei Allgemeine Java-Themen 5
S Wie gross ist die Laufzeit für diese Schleife?? Allgemeine Java-Themen 8
J Schachbrett mit for- oder while-Schleife Allgemeine Java-Themen 22
I For- Schleife falsch? Allgemeine Java-Themen 8
T Schleife kurzzeitig anhalten Allgemeine Java-Themen 5
V Problem in While-Schleife Allgemeine Java-Themen 3
Escorter Switch in der Schleife! Allgemeine Java-Themen 4
C Auswertung der for each schleife? Allgemeine Java-Themen 2
GilbertGrape foreach Schleife Allgemeine Java-Themen 12
J FOR-Schleife-Problem Allgemeine Java-Themen 10
G Schleife durch Button beenden Allgemeine Java-Themen 6
S Schleife funktioniert nicht Allgemeine Java-Themen 2
G Anonymen Buttons in for schleife ActionListener hinzufügen Allgemeine Java-Themen 5
T getParameter in while schleife Allgemeine Java-Themen 3
O while - Schleife unterbrechen mit break; Allgemeine Java-Themen 5
R array.length in For-Schleife verwenden? Allgemeine Java-Themen 22
V Schleife funktioniert nicht wie gewünscht Allgemeine Java-Themen 5
T Schleife im Konstruktor? Allgemeine Java-Themen 9
S Schleife mit Durchlaufrate Allgemeine Java-Themen 5
R Per for schleife string propertys in einer datei speichern Allgemeine Java-Themen 15
H In Testklasse Objekte erzeugen und in einer Schleife ausgebe Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben