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();
        }
    }


只有在启动服务器和客户端连接后,所有字符串才会追加到文本区域。因此,我希望将其逐步显示为我的代码。怎么解决?

最佳答案

您正在阻止事件调度线程,以防止其更新屏幕。

有关更多详细信息,请参见Concurrency in Swing

我建议您使用SwingWorker在后台线程中执行套接字代码,并使用SwingWorker的功能安全地更新UI。有关更多详细信息,请参见Worker Threads and SwingWorker

this for example之类的

07-24 14:37