【问题标题】:Java - How can I append to a jTextArea from a socket?Java - 如何从套接字附加到 jTextArea?
【发布时间】:2018-10-23 03:49:03
【问题描述】:

所以,我决定尝试使用 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 的写入?

【问题讨论】:

标签: java sockets append jtextarea serversocket


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2023-04-08
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多