Programm beenden

Status
Nicht offen für weitere Antworten.

muck1980

Mitglied
Hallo,

ich habe ein Problem mit dem Beenden bzw. dem nicht-beenden eines Programms, was aus einer GUI aufgerufen wird.

Folgendes Szenario:

Wenn ich einen Button drücke, soll ein Programm ausgeführt werden. Ich nenne es mal "Transformation".
Wenn das Programm abgeschlossen ist, möchte, dass es beendet wird, die GUI soll dabei nicht beendet werden.
Deshalb fallen so schöne Sachen wie "System.exit(n)" weg.
Mein Problem an der Sache ist, dass das Programm anscheinend nicht beendet wird und somit verschiedene Variablen in dem Program nicht in ihren Ursprungzustand zurückgesetzt werden. Deshalb kann ich immer nur eine transformation durchführen und muss dann die GUI wieder neu starten, um keinen Fehler bei der Transformation zu erhalten.
Momentan sieht mein Code folgendermaßen aus (Ausschnitt:
Code:
...
ActionListener al = new ActionListener() {
				public void actionPerformed( ActionEvent e ) {
				if(e.getActionCommand().equalsIgnoreCase("Start transformation")){
					.......
					JOptionPane.showMessageDialog(GUIMain.jp,
					"You have choosen the File: "+ "\"" + tfXXX.getText() + "\"" + "!\n");

						if (rb1.isSelected()){
							engine = "YYY";
						}
						else if (rb2.isSelected()){
							engine = "ZZZZ";
						}
// Hier wird die Methode aufgerufen, die die Transformation durchführt
						i.run(tfXXX.getText(), engine);
					}
					}
				}
			};	
...
Gibt es eine Möglichkeit der Programm zu beenden ohne die GUI dabei mit zu beenden?

Grüße
muck
 

Wildcard

Top Contributor
Das du ein Progamm nicht partiell beenden kannst.

Deshalb kann ich immer nur eine transformation durchführen und muss dann die GUI wieder neu starten, um keinen Fehler bei der Transformation zu erhalten.
Dann musst du eben alle Zustände wieder in den Ursprungszustand versetzen.
 
G

Gast

Gast
Kann er nicht ein neues Fenster öffnen? Komisch, ich kann aus nem JFrame ein JFrame raus aufmachen. Wenn ich das will sogar in nem neuen Thread. Sogar als neue Instanz. Und wenn ichs ganz hart will kann ichs auf Windowssystemen auch über Runtime.Exec machen. *angeb* :)

Und du kannst das auch! *motivier*

Man müsst halt mehr wissen. Läuft das Programm in nem eigenen Fenster (JFrame, ...)? Oder im Hintergrund (Dann verstünde ich das Problem nicht)? Und was ist i.run() (Könnt ein Runnable sein?)?
 

Quaxli

Top Contributor
Klar kann man das machen. Ich kann auch aus dem Fenster springen, wenn ich will....

Man kann auch einfach eine Methode aufrufen, die alle Variablen wieder initialisiert, so wie von Wildcard vorgeschlagen. Das ist eigentlich die übliche Vorgehensweise.
 
G

Gast

Gast
Du willst mir jetzt allen Ernstes sagen das seperate, in einem eigenen Thread laufende Programme keinen Sinn haben? Dann versteh ich denn Sinn von Runnable nicht...
 
G

Guest

Gast
Das i.run() ist kein Runnable (zumindest nicht mehr :D ) hatte vorher mal ein bisschen mit Threads rumprobiert, aber das klappte auch nicht.

Im Endeffekt ist es so, dass ich erst mein Programm geschrieben und dann einfach in dem gleichen Projekt ne GUI da drüber gebaut habe.

Ich versteh das Problem selbst nicht so wirklich. Dachte eigentlich, dass nach beenden der Methode i.run(), die eben auch beendet ist und alles auf Ursprung gesetzt wird. Dem ist aber anscheinend nicht so. Ich habe in dem Programm einige counter usw. drin und da die nicht auf null zurückgesetzt werden bekomme ich bei mehrmaligem Durchaluf Fehlermeldungen wie ArrayIndexOutOfBounds usw.

Gibt es ne Standard-Methode mit der ich alle Variablen in den Ursprungszustand versetze oder muss ich die alle händisch zurücksetzen?

Danke für die Anregungen!!!
 

Quaxli

Top Contributor
Woher soll die JVM wissen, daß Du eine Variable demnächst wieder leer benötigst? Nein, Du must die schon händisch zurück setzen. Und natürlich haben Programmteile, die in einem eigenen Thread laufen, ihren Sinn. Aber ich verstehe Dein Problem so langsam nicht mehr. Wenn es ein eigener Thread wäre, wäre doch alles erledigt, sobald die Methoden des Objektes abgearbeitet sind und nicht mehr "benutzt" werden.
Ich habe den Eindruck, daß es sich eher um ein konzeptionelles Problem handelt. Beschreibe doch mal, was Dein Programm macht / machen soll und und wie Du es konzipiert hast.
 
G

Gast

Gast
Und Quellcode wär hilfreich. Mach dir am besten mal ein KSKB (kleines selbstständig kompilierbares Beispiel), das genau dein Problem wiedergibt. (Halt ein Rohbau mit einem Counter drin.) Anhand von sowas können wir dir auch besser helfen ein sauberes Konzept zu erstellen.
 

muck1980

Mitglied
Habs hingekriegt. :D
Es lag nicht nur daran, dass ich die Variablen neu initialisieren musste. Da ich Singletons verwende, wurden die Vectoren usw. in den jeweiligen Klassen nicht zurückgesetzt. Das musste ich noch händisch nachtragen.

Danke für die Tipps. Insbesondere mit der Neu-Initialisierung der Varaiblen.

grüße
muck
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Action durchführen beim Programm beenden AWT, Swing, JavaFX & SWT 3
S Event Handling konsole Programm mit Tastendruck beenden AWT, Swing, JavaFX & SWT 5
A KeyListener Button wechseln & Programm beenden AWT, Swing, JavaFX & SWT 4
J Button soll nach Klick Text ändern und Programm in 3 Sekunden beenden AWT, Swing, JavaFX & SWT 6
S AWT Fenster schließen und Programm beenden AWT, Swing, JavaFX & SWT 10
J Fenster schließen ohne das Programm zu beenden AWT, Swing, JavaFX & SWT 3
M KeyEvent - Programm mit ESC beenden AWT, Swing, JavaFX & SWT 7
S "Millionen" von Threads? Programm komplett beenden AWT, Swing, JavaFX & SWT 2
K Programm lässt sich nicht beenden AWT, Swing, JavaFX & SWT 9
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
G CAD Programm AWT, Swing, JavaFX & SWT 4
thor_norsk E - Mail Programm AWT, Swing, JavaFX & SWT 2
_user_q Über installDist exportiertes Programm wirft "Unsupported JavaFX configuration" AWT, Swing, JavaFX & SWT 0
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
J Programm findet Resource nicht. AWT, Swing, JavaFX & SWT 6
N Programm Läuft nicht auf anderen Pcs AWT, Swing, JavaFX & SWT 9
imawake Java Paket-Tracking Programm 📦 AWT, Swing, JavaFX & SWT 7
S Lustiges programm schnell coden? AWT, Swing, JavaFX & SWT 2
O Ein Java-Programm mit Swing steuern AWT, Swing, JavaFX & SWT 1
P Swing Programm hängt sich bei Buttondruck auf? (GUI für "Chatbot" erstellen) AWT, Swing, JavaFX & SWT 15
M DragAndDrop - aus Browser ins Programm AWT, Swing, JavaFX & SWT 6
T Java GUI - Würfel Programm AWT, Swing, JavaFX & SWT 6
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
SvenPittelkow Programm soll auf JButton warten bis der geklickt wurde AWT, Swing, JavaFX & SWT 1
I Gui in bestehendes Java-Programm AWT, Swing, JavaFX & SWT 11
L JavaFX IntelliJ Standalone Programm exportieren AWT, Swing, JavaFX & SWT 9
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
M AWT Programm in den Tray minimieren AWT, Swing, JavaFX & SWT 2
steven789hjk543 Swing Weiß jemand, warum dieses Programm nicht funktioniert? AWT, Swing, JavaFX & SWT 7
A Java Programm gestalten AWT, Swing, JavaFX & SWT 4
P Swing Warum startet das Programm nicht? AWT, Swing, JavaFX & SWT 3
J JavaFX Kamera im Programm öffnen AWT, Swing, JavaFX & SWT 6
H Hintergrundbild in einem Programm AWT, Swing, JavaFX & SWT 4
MR._FIRE_Flower progressBar in ein bestehendes Programm einbauen AWT, Swing, JavaFX & SWT 3
J Verbesserungsvorschläge?! Kleines AWT Programm AWT, Swing, JavaFX & SWT 4
A Programm nun in ein Frame basteln AWT, Swing, JavaFX & SWT 1
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
G Zeichnen Programm AWT, Swing, JavaFX & SWT 1
R Swing Programm läuft nur beim Debuggen korrekt ab AWT, Swing, JavaFX & SWT 4
Arif Swing Programm friert ein... AWT, Swing, JavaFX & SWT 2
apple_pie1998 Programm gibt plötzlich exceptions aus. AWT, Swing, JavaFX & SWT 4
N Swing Wie Programm strukturieren? (Dynamisch Komponenten hinzufügen) AWT, Swing, JavaFX & SWT 1
N JLabel ändern während Programm ausgeführt wird AWT, Swing, JavaFX & SWT 4
X JMenu Menu-Bar ausrichtung ändern im Programm AWT, Swing, JavaFX & SWT 0
T Swing Programm hängt sich auf! AWT, Swing, JavaFX & SWT 23
L Probleme mit Programm AWT, Swing, JavaFX & SWT 13
S Grafik: Programm kommt nicht zur paint()-Methode AWT, Swing, JavaFX & SWT 6
P Programm durch Dateiaufruf starten und Datei öffnen AWT, Swing, JavaFX & SWT 2
N Programm mit Swing und Thread, Figur bewegen sich nicht AWT, Swing, JavaFX & SWT 6
G Programm GUI erstellen AWT, Swing, JavaFX & SWT 5
L JButton flackern - Programm hängt sich auf AWT, Swing, JavaFX & SWT 3
T Programm im METRO Design? AWT, Swing, JavaFX & SWT 1
J Programm hängt sich bei Log In auf AWT, Swing, JavaFX & SWT 1
C Programm mit Passwort schließen AWT, Swing, JavaFX & SWT 5
D Robot Programm mit Escape abbrechen (aus Eclipse heraus) AWT, Swing, JavaFX & SWT 2
N Programm läuft perfekt in Eclipse aber nicht in .JAR AWT, Swing, JavaFX & SWT 3
S JScrollPane --> Programm hängt sich beim scrollen auf AWT, Swing, JavaFX & SWT 2
J Programm im GUI ausführen AWT, Swing, JavaFX & SWT 4
A Probleme mit 2 JFrames in einem Programm AWT, Swing, JavaFX & SWT 7
G JTextArea on the fly aus anderem Programm befüllen AWT, Swing, JavaFX & SWT 4
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
W Windows Fenster in einem Programm AWT, Swing, JavaFX & SWT 2
F Mal Programm AWT, Swing, JavaFX & SWT 13
C In Hauptfenster Programm-Klassen implementieren AWT, Swing, JavaFX & SWT 9
C Swing Wie kann ich im Programm das Menü schließen AWT, Swing, JavaFX & SWT 2
J SWING - Programm ohne Eclipse etc. starten AWT, Swing, JavaFX & SWT 7
M Programm hängt sich auf nachdem repaint() benutzt wurde AWT, Swing, JavaFX & SWT 2
M Programm in Jframe "einbinden" AWT, Swing, JavaFX & SWT 7
S Programm auf aktuellen Stand bringen AWT, Swing, JavaFX & SWT 2
Spin Tool: Popup -Programm AWT, Swing, JavaFX & SWT 3
GUI-Programmer Swing JWindow - Programm wird ohne Grund beendet AWT, Swing, JavaFX & SWT 3
E Kreis-Mal-Programm AWT, Swing, JavaFX & SWT 7
P Programm aktuallisiert sich nur beim Rüberzeigen AWT, Swing, JavaFX & SWT 6
T Java-Anwendung arbeitet Programm in seltsamer Reihenfolge ab AWT, Swing, JavaFX & SWT 3
C Programm für 5 sekunden anhalten und actionevent abfangen AWT, Swing, JavaFX & SWT 18
J Programm schließen AWT, Swing, JavaFX & SWT 4
J Programm nur einmal öffnen AWT, Swing, JavaFX & SWT 3
E Windows Kontext Menü - Laufendes Programm AWT, Swing, JavaFX & SWT 3
T Programm vom Desktop starten! AWT, Swing, JavaFX & SWT 2
S Programm pausieren während JDialog offen ist AWT, Swing, JavaFX & SWT 2
M Browser in Programm einbinden AWT, Swing, JavaFX & SWT 4
R Durch Listener lässt sich Programm nicht mehr ausführen AWT, Swing, JavaFX & SWT 4
H Userinput in GUI an externes Programm AWT, Swing, JavaFX & SWT 8
D Firefox aus Programm starten AWT, Swing, JavaFX & SWT 4
S LayoutManager Einfaches Programm mit VE und Eclipse3.6 realisieren AWT, Swing, JavaFX & SWT 2
J SWT 32 bit Programm für 64 bit Jave AWT, Swing, JavaFX & SWT 10
R GUI hängt während Programm läuft AWT, Swing, JavaFX & SWT 7
H Infofenster vor dem eigentlichen Java Programm AWT, Swing, JavaFX & SWT 3
B Uberschrift in Swing-Programm zur Laufzeit aendern... AWT, Swing, JavaFX & SWT 4
C Swing Kleines Programm mit SWING unter Verwendung von MVC AWT, Swing, JavaFX & SWT 5
capgeti Wie Programm in JPanel (o.ä.) starten? AWT, Swing, JavaFX & SWT 3
B Externes Programm mit Robot Steuern AWT, Swing, JavaFX & SWT 3
G Programm läuft nur auf manchen Rechnern AWT, Swing, JavaFX & SWT 10
M SWT Programm pausiert ungewollt AWT, Swing, JavaFX & SWT 5
K Website in Java Programm einbinden AWT, Swing, JavaFX & SWT 3
B komplettes programm in einem fenster AWT, Swing, JavaFX & SWT 5
L Frage bei Programm mit Zufallskreisen AWT, Swing, JavaFX & SWT 9
L Programm terminated (zu frueh) AWT, Swing, JavaFX & SWT 3
T SplashScreen im laufenden Programm AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben