mirror of
https://github.com/jneug/zeichenmaschine.git
synced 2026-04-14 06:33:34 +02:00
WindowAdapter beendet die ZM nun direkt, und wartet nicht auf den Thread
Bisher hat ein Schließen des Fensters dazu geführt, dass `running = false` gestzt wurde und die Maschine den aktuellen Frame noch beenden konnte. Da ein Frame durch die Verwendung von `delay(int)` aber auch lange dauern kann, hatte man als Nutzer dann den Eindruck, dass der Klick nicht registriert wurde. Nun beendet das Programm direkt, ruft aber trotzdem vorher `teardown()` und `cleanup()` auf.
This commit is contained in:
@@ -291,6 +291,7 @@ public class Zeichenmaschine extends Constants {
|
||||
// Das Icon des Fensters ändern
|
||||
|
||||
try {
|
||||
// TODO: Add image sizes
|
||||
ImageIcon icon = new ImageIcon(ImageIO.read(new File("res/icon_64.png")));
|
||||
|
||||
if( MACOS ) {
|
||||
@@ -334,7 +335,10 @@ public class Zeichenmaschine extends Constants {
|
||||
frame.addWindowListener(new WindowAdapter() {
|
||||
@Override
|
||||
public void windowClosing( WindowEvent e ) {
|
||||
exit();
|
||||
//exit();
|
||||
teardown();
|
||||
cleanup();
|
||||
quit(true);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1033,7 +1037,7 @@ public class Zeichenmaschine extends Constants {
|
||||
* @param delta
|
||||
*/
|
||||
public void update( double delta ) {
|
||||
//running = !run_once;
|
||||
running = !run_once;
|
||||
stop_after_update = run_once;
|
||||
}
|
||||
|
||||
@@ -1048,7 +1052,7 @@ public class Zeichenmaschine extends Constants {
|
||||
* dar, da hier die Zeichnung des Programms erstellt wird.
|
||||
*/
|
||||
public void draw() {
|
||||
running = !stop_after_update;
|
||||
//running = !stop_after_update;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user