Hi!
Ich schreibe gerade ein SWT Programm, welches über RXTX mit einem Microcontroller kommuniziert. Die GUI öffnet dafür einen neuen Thread für die Serielle Kommunikation. Während dem Datenaustausch wird eine ProgressBar angezeigt und aktualisiert. Alles funktioniert auch so weit. Außer man andert den Window Focus (öffent beispielsweise der Internet Browser während der Datenübertragen). Wenn man dann zurück zur GUI kehrt, ist sie eingefrohren, bis der Datenaustausch feritg ist.
Also Code zum seriellen Datenübertragung habe ich den von Kuligowski's Tutorial verwendet (worldwideweb dot kuligowski dot pl). Seine RS232Example Class habe ich um eine Progressbar erweitert (und in SerialCommunication um benannt):
DataTransfer() wird durch drücken eines Bottons in der GUI aufgerufen. Innerhalb DataTransfer wird ein Thread zur seriellen Kommunikation erstellt. Innerhalb einem while loop frage ich ab, ob dieser Thread nch existiert. Wenn ja, dann update ich die Progress Bar.
Alles geht super. Außer man ändert den Window Focus (öffnet beispielsweise der Internet Browser während der Datenübertragen). Wenn man dann zurück zur GUI kehrt, ist sie eingefrohren, bis der Datenaustausch feritg ist.
Was könnte das Problem sein?