我有一個叫做mainFrame的JFrame,它是使用我的程序時顯示給用戶的主要JFrame。在這種情況下應該使用什麼類型的消息傳遞? GUI向線程發送命令; Java
該程序創建一個套接字到服務器,併發送消息返回並第四它和服務器之間。
我試圖創建一個線程來處理連接。所以當用戶點擊「連接」時,線程將設置套接字以及相關的輸入和輸出流。然後,我希望線程等待,直到JFrame發送一條命令,該命令只是一個字符串,它應該打印到Socket的輸出流。線程將發送命令,讀取響應,然後等待另一個命令。
我想我可以設置一個隊列,讓我可以將命令「存入」它,然後當線程繞過它時,它可以將第一個命令從隊列中拉出來,並隨意使用它。
任何想法如何着手呢?
此外,目前我將參數this
傳遞給線程,以便它可以訪問JFrame中的函數以將輸出打印到文本區域。這可以嗎?我可以允許線程調用產生它的JFrame中的方法嗎?
「在EDT上」是什麼意思? //也要說發送文本到套接字是被阻塞的,我該如何爲它設置一個命令隊列? – KDecker
@BumSkeeter:請參閱編輯以回答。 –
嗯,說我有一個線程調用一些阻塞方法,如'Socket.accept'。在接受來自套接字的新數據(它在循環中調用socket.accpet)之間,我該如何發送一個要執行的命令列表? – KDecker