Salve avrei bisogno di un aiuto per realizzare una calcolatrice Client Server, il Client dotato di interfaccia grafica deve inviare i dati (operandi con il segno dell'operazione) al Server, il quale (realizzato senza interfaccia grafica) deve elaborarli e restituire il risultato in una JTextField del Client.
Ho creato la gui del client inserendo 3 JTextField per inserire gli operandi e il segno e 1 JTextField per il risultato,
la mia domanda è: come faccio ad inviare tramite socket il contenuto delle 3 JTextField al server??
grazie.

codice:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.*;

import javax.swing.*;

public class Client extends JFrame  {

   
   private JLabel label1;
   private JTextField textField1;
   
   private JLabel label2;
   private JTextField textField2;
   
   private JLabel label3;
   private JTextField textField3;
   
   private JLabel label4;
   private JTextField textField4;
   
   private JButton risultato;
   private JButton chiudi;
   
   
   
   public Client() {
      setTitle("Calc ClientServer  v.1.0");
      
      label1 = new JLabel("Inserisci primo operando:");
      textField1 = new JTextField(5);
      
      label2 = new JLabel("Inserisci secondo operando:");
      textField2 = new JTextField(5);
      
      label3 = new JLabel("Inserisci operazione:");
      textField3 = new JTextField(5);
      
      
      risultato = new JButton("Calcola il risultato");
      
      label4 = new JLabel("Risultato:");
      textField4 = new JTextField(5);
      

      chiudi = new JButton("Chiudi");
   
   //-----------------------------------------------------------------------------------

      risultato.addActionListener( new ActionListener() {
         public void actionPerformed(ActionEvent actionEvent) {
            //invio al server di operando 1, operando 2, e il segno.
            
            }
      });
      
   //------------------------------------------------------------------------------------   
      chiudi.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent actionEvent) {
              java.lang.System.exit(0);
         }
      });
      
   //----------------------------------------------------------------------------------------   
      JPanel panel = new JPanel();
      panel.add(label1);
      panel.add(textField1);
      
      panel.add(label2);
      panel.add(textField2);

      panel.add(label3);
      panel.add(textField3);
      
      panel.add(risultato);
      
      panel.add(label4);
      
      panel.add(textField4);

      panel.add(chiudi);

      
      setContentPane(panel);
      
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocation(300,300);
      pack();
      setSize(700,100);
      setVisible(true);
   }
   
   public static void main(String[] args) {
   
      Socket s = null;
      try {
         s = new Socket("localhost",11111);
      }
      
      catch (UnknownHostException e) {
            System.out.println("errore");
         e.printStackTrace();
      } catch (IOException e) {
      
         e.printStackTrace();
      }
      
      new Client();
   }
}