[英]Java - How can I append to a jTextArea from a socket?
因此,我决定尝试在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的写入?
您需要使您的应用程序成为多线程。 Server&Socket工作在单独的线程而不是UI-Thread的地方;
您可以看到该示例: https : //github.com/khirulbasher/Multithreaded-Server-Client
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.