From 8af2df6bfd5e07f4147512c39a9b428e931b376f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anian=20B=C3=BChler?= <anian.buehler@reutlingen-university.de> Date: Mon, 24 Jan 2022 14:52:14 +0100 Subject: [PATCH] stopped sim and gui threads on exit --- .../letsgoing/ardublock/simulator/Simulator.java | 13 ++++++++++++- src/tec/letsgoing/ardublock/simulator/view/GUI.java | 6 +----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java index 5e57004..be7715b 100644 --- a/src/tec/letsgoing/ardublock/simulator/Simulator.java +++ b/src/tec/letsgoing/ardublock/simulator/Simulator.java @@ -6,6 +6,8 @@ package tec.letsgoing.ardublock.simulator; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; import java.util.Vector; import javax.swing.UIManager; @@ -103,6 +105,15 @@ public class Simulator implements Runnable, ActionListener{ guiThread = new Thread(gui); guiThread.start(); + + //override close operation + //TODO: TEST + gui.addWindowListener(new WindowAdapter() { + public void windowClosing(WindowEvent we) { + instance.stopSimu(); + gui.stopThread(); + } + }); return true; } @@ -151,7 +162,7 @@ public class Simulator implements Runnable, ActionListener{ arduino.setStop(true); if (simuThread instanceof Thread) { simuThread.interrupt(); - + } arduino.getPin(20).setValue(0); diff --git a/src/tec/letsgoing/ardublock/simulator/view/GUI.java b/src/tec/letsgoing/ardublock/simulator/view/GUI.java index 8d795b0..292ad35 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/GUI.java +++ b/src/tec/letsgoing/ardublock/simulator/view/GUI.java @@ -433,11 +433,7 @@ public class GUI extends JFrame implements Runnable, ActionListener { // e.printStackTrace(); } - - - super.repaint(); - - + super.repaint(); } } -- GitLab