Disparador de ObjectOutputStream escribiendo usando ActionListener.
Básicamente, estoy trabajando en un proyecto que requiere que envíe una matriz que se llena con cadenas a través de una GUI a un servidor. Una vez que se llena la matriz, quiero que un botón “Enter” la envíe al servidor a través del socket. El problema es que no sé cómo podría hacer un actionListener que pueda hacer eso en este escenario.
Esta es la conexión en el socket del cliente:
public class Cliente {
public Cliente() {
try {
InetAddress addr = InetAddress.getLocalHost();
System.out.println(“Conectando al servidor…”);
Socket client = new Socket(addr, 10000);
OutputStream out = client.getOutputStream();
ObjectOutputStream oout = new ObjectOutputStream(out);
String svResponse;
while (true) {
oout.writeObject(sequence);
oout.flush();
InputStream in = client.getInputStream();
ObjectInputStream oin = new ObjectInputStream(in);
ArrayList<string> sequenceServ = (ArrayList<string>) oin.readObject();
System.out.println(sequenceServ.toString());
InputStreamReader inReader = new InputStreamReader(in);
BufferedReader buffReader = new BufferedReader(inReader);
svResponse = buffReader.readLine();
System.out.println(svResponse);
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Básicamente, lo que estoy tratando de hacer es tener un botón en mi GUI que desencadene algo así como oout.writeObject(sequence);
Por favor, siéntase libre de decirme si algo parece confuso ya que soy consciente de que la explicación no está muy bien hecha ya que no estoy seguro de cómo formularlo por mi cuenta.
davy.ai
Se puede crear un
ActionListener
para el botón en tu GUI que desencadenará el comandooout.writeObject(sequence)
. Puedes hacer esto creando una clase interna anónima que implemente la interfazActionListener
y anulando el métodoactionPerformed
.Por ejemplo: