Eccomi di nuovo qua, grazie all'aiuto di LeleFT in un post poco sotto ho risolto i problemi circa la realizzazione di una semplice chat.
Adesso sto provado a implementarla graficamente, ma il programma rimane bloccato in esecuzione con il pulsante Connect premuto, vi sarei infinitamente grato se anche questa volta mi deste una mano

Ecco graficamente di che si tratta:


Il mio intento è quello di, ogni volta che si inserisce il testo nell'apposita area, di far spuntare nella history:
Client said: text
Server received: text

Tuttavia bloccandosi non appena tento la connessione non mi è neppure permesso scrivere.
Ecco il codice.

Codice associato al tasto Connect:
codice:
Server objs=new Server();
objs.connect;
Codice associato al tasto Send:
codice:
Client objcl=new Client();
jTextArea2.append("Client said:"+objc.client(jTextArea1.getText()));
jTextArea2.append("Server received" + objs.server());
Ecco il Client
codice:
package chat_v01;
import java.net.*;
import java.io.*;

public class Client
{
    String text;
    BufferedReader dalServer;
    PrintWriter alServer;
    public String client(String text)
    {
        this.text=text;
        try
        {
            
            Socket s1 = new Socket ("127.0.0.1", 5555);
            dalServer = new BufferedReader(new InputStreamReader(s1.getInputStream()));
            alServer= new PrintWriter(s1.getOutputStream(),true);
            alServer.println(text);
            if(text.equals("bye"))
            {
                s1.close();
            }
        }
        catch (ConnectException connExc)
        {
            System.err.println("Errore nella connessione ");
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        } 
        return text;
    }
}
Ecco il server:
codice:
package chat_v01;
import java.net.*;
import java.io.*;

public class Server 
{
    BufferedReader dalClient;
    PrintWriter alClient;
    Socket sse;
    public ServerSocket server = null;
    public void connect()
    {
        
        try
        {
            server = new ServerSocket(5555);  
            sse = server.accept();
            dalClient=new BufferedReader(new InputStreamReader(sse.getInputStream()));
            alClient= new PrintWriter(sse.getOutputStream(),true);
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }
        
    }
        
    public String server()
    {
        String text = null;
        try
        {
            text=dalClient.readLine();
            if (text.equals("bye"))
            {
                sse.close();
            }
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }
        
         return text;
    }
}

Grazie come sempre a tutti coloro che mi vorranno aiutare!