聊天程序中的GUI和线程

时间:2012-10-11 13:01:52

标签: multithreading user-interface chat javafx

大家好,我一直在寻找这个问题的答案,但无法找到适合我问题的解决方案。

我的聊天程序有点高级gui。聊天程序总共包括服务器和客户端两个程序。我已经创建了一个协议,我的客户端会根据它获取的类型信息进行监听和响应。

我创建了一个名为clientReciver的类,它扩展了Thread。但我现在感到困惑的是我将如何得到该线程重新获得并在我的gui中使用它的信息。

这个例子可能是我如何获得我的一个客户发送的文本并将其添加到我的GUI中?

值得一提的是,我正在使用JavaFx Scenebuilder来构建我的GUI。

希望有人能够提供帮助

最诚挚的问候Marc Rasmussen

1 个答案:

答案 0 :(得分:1)

如果没有关于自定义协议的详细信息,很难提供建议。请参阅zenjava博客了解一些inspiration

使用Task从您的客户端调用您的服务器。如果客户端服务器调用的结果是同步的,则在任务完成时获取调用返回的value。如果调用是异步的,或者服务器将数据推送到客户端,则在运行在其自己的线程中的客户端上设置一个侦听器,并在获得结果时调用Platform.runLater将结果提供给JavaFX应用程序线程以进行UI处理