@zeja:
Vielen Dank für Deine SUPERSCHNELLE Hilfe. Werde die Hinweise von Dir berücksichtigen und entsprechend die Klassen mal umstellen. Auf die Idee mit dem Composite hätte ich auch selber kommen können - ist sauberer.
Vielen Dank für Deine SUPERSCHNELLE Hilfe. Werde die Hinweise von Dir berücksichtigen und entsprechend die Klassen mal umstellen. Auf die Idee mit dem Composite hätte ich auch selber kommen können - ist sauberer.
Hab ne Menge externer Libs eingebunden (SWT, javax.comm, CommonConfigurations,...)habe deinen Code jetzt so grob nicht zum kompilieren bekommen, kann es aber ja so oder so nicht testen.
Dies kann ich noch nicht ganz nachvollziehen...Da du das ganze mit javax.comm über Listener machst, brauchst du gar keinen Thread. Du musst nur in deiner Klasse Transpondern noch Methoden wie addTransponderListener(TransponderListener) und removeTransondernListener(TransonderListener) hinzufügen. Aus LoginDialog rufst du dann transponder.addTransponderListener(this) auf.
Das interface TransponderLister extends EventListener muss dann eine Methode wie gotKey(TransponderEvent) anbieten. Diese implementiert du in der LoginDialog Klasse und in der Klasse Transponder rufst du diese Methode der registrierten Listener auf sobald du den richtigen Key ausgelesen hast.
Im LoginDialog setzt du dann das Ergebnis und disposed die Sehll des Dialogs. Dadurch wird der Dialog beendet und das Ergebnis zurückgegeben.