Java 附加到JTextArea

Java 附加到JTextArea,java,swing,jtextarea,serversocket,event-dispatching,Java,Swing,Jtextarea,Serversocket,Event Dispatching,我正在制作服务器端应用程序,但当我试图向JTextarea添加文本时,它不起作用。但是,它会打印到控制台 在我添加行serverSocket.accept()之前,它工作得很好 这是我的密码: try { serverSocket=new ServerSocket(4545); LogOutput.append("Seccessfuly connected\n" ); System.out.println("Seccessfuly connected\n" );

我正在制作服务器端应用程序,但当我试图向
JTextarea
添加文本时,它不起作用。但是,它会打印到控制台

在我添加行
serverSocket.accept()
之前,它工作得很好

这是我的密码:

try { 
    serverSocket=new ServerSocket(4545); 
    LogOutput.append("Seccessfuly connected\n" );  
    System.out.println("Seccessfuly connected\n" );              

    StartButon.setEnabled(false);

    while(true){
        LogOutput.append("waiting for client\n" );
        System.out.println("waiting for client\n" ); 

        serverSocket.accept();
        LogOutput.append("Client connected to server\n" );               
    }
}
catch(Exception e){
    LogOutput.append("cannot establish connection : "+ e +"\n" );
    StartButon.setEnabled(true);
}

从给定的代码片段和您的问题来看,您似乎正在寻找

客户端已连接到服务器\n

要添加到您的文本区域

serverSocket.accept();
LogOutput.append("Client connected to server\n" );       
一旦您说出serverSocket.accept(),它将等待客户端连接到达,除非有某个客户端,否则您的下一行代码将不会执行。如果serverSocket.accept是阻塞方法,启动客户端程序,服务器将开始处理下一行代码

侦听与此套接字的连接并接受它。该方法会一直阻塞,直到建立连接为止


您完全阻塞了Swing事件线程或EDT。如果您希望Swing GUI与长时间运行的进程协同工作,请从
while(true)
块开始,在后台线程上获取大部分代码。请阅读本教程,了解这一点的原因,以及如何使用对象解决此问题。

您在哪里使用JTextArea?
public Socket accept() throws IOException