Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich wollte mla fragen, ob mire hier jemand helfen kann. Ich muss wissen, wie es möglich ist im Laufenden Programm durch einen Button eine Schleife zu beenden und durch einen anderen Button, diese Schleife wieder zu starten.
um überhaupt eingreifen zu können, müssen mehrere Programmteile nebenläufig als Threads laufen,
hast du das, kennst du das überhaupt? (die Frage klingt nämlich so ganz allgemein)
wenn der Ablauf klar ist dann doch nur vom Button aus eine boolean-Variable setzen, die in der Schleife ständig abgefragt wird
Der Button steckt ja in der GUI - welche grundsätzlich schon mal in einem Thread läuft. Die Schleife von Dir muss nun in einem neuen Thread gestartet werden.
Wenn man dann einen Pausebutton drückt, kann man ein Flag oszilieren lassen. Also konzeptionell sowas in der Art:
Code:
[....]
private boolean pause = false;
[....]
// Irgendwo im Coding, wo die Schleife starten soll:
Thread myThread = new Thread()
{
public void run()
{
File datei = new File(pfad + "liste.txt");
BufferedReader in = new BufferedReader(new FileReader(datei));
while ((zeile = in.readLine()) != null)
{
while (pause) try { Thread.sleep(1); } catch (InterrruptException ex) { /*NOOP*/ }
Validierung(zeile.toString(), tf.getText().toString(), i);
}
}
};
myThread.start();
// Button-Code in ActionPerformed:
{
pause = !pause;
}
Ich habe leider gerade keine Entwicklungsumgebung parat, um das Syntaxmäßig zu checken, aber ich denke, es macht klar, was ich meine. Der Thread "myThread" sollte z.B. nicht lokal deklariert werden. Ferner kann die Datei-Definition und die des BufferedReaders auch an anderer Stelle passieren. Auch solltest Du vielleicht keine anonyme Klasse für den Thread verwenden, sondern eine inner Class oder eine extra Klasse.
Vielen vielen Dank...ich kann mir schon vorstellen, dass das klappt. Jedoch hab ich jetzt nen Fehler wo jeder warschnlich drüber lacht, weil ich das nicht weiß. Aber ich hab so gut wie keine Erfahrungen mit Thread.
java.lang.NoSuchMethodError: main
Exception in thread "main"