Programm schließen und wieder neu starten

Status
Nicht offen für weitere Antworten.

Meru

Bekanntes Mitglied
Hallo

Ich habe ein proggi wo sich Benutzer anmelden müssen um es zu nutzen. Beim start der Anwendung erscheint ein Einlogfensterchen. Benutzer sollen sich aber auch aus dem System ausloggen können. Ich hätte es gern, dass wenn sich der Benutzer ausloggt, die komplette Clientanwendung schließt (Bsp system.exit()) und danach automatisch sich neu startet.

Ein wenig hab ich schon rumprobiert. Zum beispiel das ich mein aktuelles JFrame einfach ausblende und den Hauptkonstruktor (main) einfach nochmal ausführe. Ist zwar nicht elegant, aber es funktionierte prinzipiell wie ich wollte.
Nun erzeuge ich innerhalb meiner Applikation irgendwo ein JDialog (nicht modales fenster). Wenn ich mich nun mit der oben genannten Methode ausloggen will, geht zwar das JFrame zu, aber der Dialog bleibt offen. Ist ja auch klar, das dies so ist.

Nun ist meine Frage, wie kann ich alle Instanzen des Programmes wirklich aus der VM nehmen und automatisch eine neue Instanz der Clientanwendung starten?
 

thE_29

Top Contributor
Die einzig (mir bislang) relativ gute Methode ist es mit Hilfe eines Startes zu implementieren!

Dh, entweder eine executeable für das jeweilige System oder eine bat/sh Datei!

In der prüfst du den exit Wert ab!

zB in Windows gehts so:
starter.bat
@echo off
:start
java -jar DeinProgram.jar
if %errorlevel% neq 2 goto start

Solange dein Programm nicht mit System.exit(2) beendet wird, startet es automatisch neu! Willst du es endgültig beenden, dann beende mit Code 2! Oder lass die Abfrage weg und mach immer ein goto start!

Alles andere kann manchmal zu Problemen führen (in einem extra Thread nochmals starten, etc..) da manchmal der neue Prozess vom alten mit in den Tod gerissen wird!
 

Meru

Bekanntes Mitglied
Ansich schon eine gute Lösung, aber leider plattformabhängig. Danke dennoch für den Tip, kannte ich so noch nicht
 

thE_29

Top Contributor
Naja, wie gesagt!

Eine sh Datei die das gleiche macht, ist schnell gemacht! Ansonsten gibt es nicht wirklich etwas gutes!

Du könntest ein 2tes Jar Programm beim Beenden starten, was wartet bis dein Hauptprogramm beendet ist und dieses nochmals starten. Dann müsste alles rausgeladen sein. (Und die java Umgebung kriegst du über Variablen aus System.getProperty())
 

Meru

Bekanntes Mitglied
Oh, das SH hab ich wohl falsch gedeutet ^^.
Aber die Syntax ist doch unter Linux anders als die unter windows? Aber gut, da könnte ich 2 varianten anbieten. Ich werd das mal am Wochenende testen
 

MQue

Top Contributor
thE_29 hat gesagt.:
zB in Windows gehts so:
starter.bat
@echo off
:start
java -jar DeinProgram.jar
if %errorlevel% neq 2 goto start

Das heißt quasi, dass die bat datei die jar ausführt und wenn mit System.exit(2) das Java- programm beendet wird, dann wird dieser Wert (2) an die bat- Datei zurückgeliefert??

:start ist nur ein Label, oder?
und was ist errorlabel und neq??
 

The_S

Top Contributor
Warum nicht einfach das Programm nochmal über die Runtime ausführen (neue VM-Instanz) und anschließend beenden?
 

thE_29

Top Contributor
Jop!
Der Wert bei System.exit wird an die Bat Datei zurückgeliefert!

Das ist der return Wert der Anwendung. In Linux fragste den mit $? ab.
und in Windows mit %errorlevel%
Und das ist halt einfach ein if:

if returnwert not equals 2 gehe zum start


@Hobbit: Die Frage ist ja, ob das Programm 2mal gestartet werden darf/soll. Bei mir war das nicht der Fall! Daher musste ich es vorher sauber beenden.
 

Escorter

Bekanntes Mitglied
Anstatt es über ein Batch Datei zu machen, kann man doch ebstimmt auch über Process, den Rückgabewert abfagen.

Ein kleines programm schreiben, dass das Hauptprogramm startet, wenn der Rückgabewert kommt. Startet es das Hauptprogramm erneut.

Gruß,
Esco
 

thE_29

Top Contributor
Habe ich bereits erwähnt ;)

Habe halt executable dazu gesag! Und dort kriegt man den return Wert auch ganz leicht und der Code ist nicht mal schwer :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C anderes Programm schließen! Allgemeine Java-Themen 5
E externen Prozess schließen, wenn Programm geschlossen wird Allgemeine Java-Themen 2
Landei DDE-Probleme und Programm schließen Allgemeine Java-Themen 2
M Programm schließen? Allgemeine Java-Themen 2
C externes Programm läuft erst nach schließen des mainprogramm Allgemeine Java-Themen 7
S mit welchem befehl kann ich mein programm autom. schließen Allgemeine Java-Themen 3
D Fremdes Programm schließen (ohne process.destroy()) Allgemeine Java-Themen 8
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
kodela Programm hängt in der Ereigniswarteschlange Allgemeine Java-Themen 13
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
P Programm darf nicht mehrfach startbar sein Allgemeine Java-Themen 16
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
JavaNewbie2.0 Programm nicht im Taskmanager schliesen können Allgemeine Java-Themen 15
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
JavaNewbie2.0 Programm bleibt "stehen" Allgemeine Java-Themen 2
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
Aruetiise Methoden .jar mit Programm öffnen Allgemeine Java-Themen 2
C Webseiten Programm problem Allgemeine Java-Themen 5
E Programm auf Installation prüfen Allgemeine Java-Themen 1
J Programm zum Download von CSV-Dateien Allgemeine Java-Themen 4
E Programm ohne Windowsrand(Vollbild) ? Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
P Schnittstelle java Programm zu Webserver / Browser Allgemeine Java-Themen 2
J Schutz Programm Jar Exe Allgemeine Java-Themen 7
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
B Programm updaten mit FXLauncher Allgemeine Java-Themen 1
D Nicht quelloffenes Programm Allgemeine Java-Themen 5
F Java-Programm lizensieren Allgemeine Java-Themen 21
I Programm im Hintergrund bei Windows zur Steuerung der Tastatur nutzen Allgemeine Java-Themen 2
X Aus Programm "Installationsprogramm" machen Allgemeine Java-Themen 6
T Java Programm in Internetseite? Allgemeine Java-Themen 4
T Java Programm frisst RAM Allgemeine Java-Themen 6
H Alter Java-Programm läuft nicht mehr. Laut strace fehlt libpthread.so.0 Allgemeine Java-Themen 3
H Runtime reagiert erst wenn Programm abbricht Allgemeine Java-Themen 1
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
Neumi5694 Offenes Programm nutzen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben