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