public void doConnect(){
try{
statusArea.append("Starting server.....\n");
serverSocket = new ServerSocket(5555);
statusArea.append("Server started.\n");
statusArea.append("Waiting for client connection....\n");
socket = serverSocket.accept();
statusArea.append("Client connected.\n");
inStream = new ObjectInputStream(socket.getInputStream());
} catch (IOException e){
e.printStackTrace();
}
}
只有在启动服务器和客户端连接后,才会将所有字符串附加到文本区域。所以我希望它一步一步显示为我的代码。如何解决?
答案 0 :(得分:2)
您正在阻止事件调度线程,阻止它更新屏幕。
请查看Concurrency in Swing了解详情。
我建议您使用SwingWorker
在后台线程中执行套接字代码,并使用SwingWorker
的功能安全地更新UI。有关详细信息,请参阅Worker Threads and SwingWorker