Hellsgamerz
Legacy Member
Ik ben bezig met een klein project waarin zowel sockets als een GUI gebruikt worden. Nu probeer ik een systeem op te zetten waarbij de socketdata in een textveld (swing, JTextArea) komt te staan. Hierbij gebruik ik threads (uiteraard).
Nu vroeg ik me af hoe je best de communicatie tussen threads laat verlopen?
De simpelste manier is het JTextArea-object meegeven waarin de data moet komen bij de constructor van de sockets. Dit is echter niet flexibel genoeg naar mijn zin.
Ik had het volgend idee: ieder object dat een thread start implementeert een interface. Die interface heeft een methode (laten we die doMethodInStarter noemen). Bij het implementeren schrijf je de code hiervan in detail in de klasse die de thread start. Aan het object dat je in een aparte thread start geef je het object mee waarin je de thread start (via this). Zo kan je altijd data verzenden naar de 'parent'-thread, en kan die afhandelen op zijn eigen manier, los van de andere thread.
Heeft iemand een beter idee? Ik ben net een jaar bezig met java in school en krijg dit allemaal nog wel, maar wachten is niet mn sterkste kant
Nu vroeg ik me af hoe je best de communicatie tussen threads laat verlopen?
De simpelste manier is het JTextArea-object meegeven waarin de data moet komen bij de constructor van de sockets. Dit is echter niet flexibel genoeg naar mijn zin.
Ik had het volgend idee: ieder object dat een thread start implementeert een interface. Die interface heeft een methode (laten we die doMethodInStarter noemen). Bij het implementeren schrijf je de code hiervan in detail in de klasse die de thread start. Aan het object dat je in een aparte thread start geef je het object mee waarin je de thread start (via this). Zo kan je altijd data verzenden naar de 'parent'-thread, en kan die afhandelen op zijn eigen manier, los van de andere thread.
Heeft iemand een beter idee? Ik ben net een jaar bezig met java in school en krijg dit allemaal nog wel, maar wachten is niet mn sterkste kant


). 3 knoppen (connect, disconnect en send), 3 textvakken (host, port, command) en 1 textarea.
)