2012-10-11 33 views
0

你好傢伙一直在尋找這個問題的答案,無法找到適合我的問題的解決方案。圖形用戶界面和線程在聊天程序

我有一個聊天程序,有一些先進的GUI。聊天程序總共包含兩個程序一個服務器和一個客戶端。 ive創建了一個協議,我的客戶端可以偵聽並根據獲取的類型信息做出反應。

我創建了一個名爲clientReciver的類,它擴展了Thread。但我現在困惑於我將如何獲得線程recive並在我的gui中使用它的信息。

這個例子可能是我如何獲得我的客戶之一發送的文本並將其添加到我的GUI?

可能值得一提的是,我使用JavaFx Scenebuilder來構建我的GUI。

希望有人能夠幫助是

此致馬克·拉斯穆森

+0

請幫助我im真的失去了這個 –

回答

1

硬,不會對您的自定義協議的細節提出建議。有關inspiration,請參閱zenjava博客。使用Task從您的客戶端調用您的服務器。如果客戶服務器調用的結果是同步的,則在任務完成時獲取調用返回的value。如果調用是異步的,或者服務器將數據推送到客戶端,則在運行於其自己線程中的客戶端上設置偵聽器,並在調用Platform.runLater時將結果提供給JavaFX應用程序線程進行UI處理。

+0

好吧我從來沒有使用過任務類,但我當然看到它的一些潛力。我的問題是,我應該在另一個類中運行線程,然後將該字符串添加到列表中,然後從GUI收集該列表或該任務如何工作?我真的很高興你的答案,我只是不是100%確定我知道你的意思,也許是因爲我還不夠熟練,或者不知道你建議我使用的方法。 –

+0

看看這個[示例](https://gist.github.com/2305098)將字符串添加到任務中的收集列表以及JavaFX [線程教程](http://docs.oracle.com/ javafx/2/threads/jfxpub-threads.htm)以及我之前鏈接到的zenjava博客。 – jewelsea

+0

謝謝你的迴應只是爲了得到這個正確的看起來,在例子中他們有Gui代碼中的Thread而不是單獨的類,這是否可取? –