J'ai ces trois classes:Java: ObjectOutputStream avec le problème Serializable
Commande:
package pack;
public abstract class Command impements java.io.Serializable
{
public abstract void execute();
}
Client:
package pack;
// imports....
public class Client
{
Socket socket;
// Constructor...
public void sendCommand(Command c)
{
try
{
new ObjectOuputStream(socket.getOutputStream()).writeObject(c);
} catch (Exception e) {e.printStackTrace()};
}
}
MyKeyListener:
Ce keylistener est ajouté à un composant dans un JFrame.
public class MyKeyListener implements KeyListener
{
private Client client;
public MyKeyListener(Client c)
{ client = c; }
public void keyTyped(....)......; // This method does nothing
public void keyPressed(KeyEvent e)
{
client.sendCommand(new Command() {
public void execute()
{
new Robot().keyPress(e.getKeyCode());
}
});
}
// The same for keyRelease()....
}
Le problème est: si je cours le code et il veut envoyer une commande. Les flux cessent d'écrire car "MyKeyListener n'est pas sérialisable" ??? !! Mais je n'essaie jamais d'envoyer MyKeyListener
J'espère que les fautes de frappe ne sont pas réellement dans votre code. – Svante