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:
Gibt es eine Möglichkeit der Programm zu beenden ohne die GUI dabei mit zu beenden?
Grüße
muck
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);
}
}
}
};
...
Grüße
muck