Java-如何从套接字附加到jTextArea?

时间:2018-10-23 03:49:03

标签: java sockets append jtextarea serversocket

因此,我决定尝试使用ServerSocket / Socket即时通讯程序,以熟悉如何使用ServerSockets和Sockets。我目前仍在应用程序的服务器端工作,无法在GUI上获取jTextArea来更新从客户端程序发送的信息。

这是我的代码:

对于事物的Socket方面(ServerSocket类):

while (shouldRun) {
    inputMessage = (String)input.readObject();
    new jMessengerServerGUI().updateFeed(inputMessage);
    System.out.println(inputMessage);
}

对于GUI(jMessengerServerGUI类):

public void updateFeed(String updateMessage) {
    txtServerFeed.append(updateMessage);
    System.out.println(updateMessage);
}

这些方法位于单独的类中,在其中可以完美无误地接收和发送字符串inputMessage,并在控制台中将其打印出来。问题在于更新jTextArea txtServerFeed。

从外部类调用时如何最好地实现对TextArea的写入?

1 个答案:

答案 0 :(得分:0)

您需要使您的应用程序成为多线程。 Server&Socket工作在单独的线程而不是UI-Thread的地方;

您可以看到该示例: https://github.com/khirulbasher/Multithreaded-Server-Client