Ho modificato così:
codice:
import javax.swing.JApplet;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ServerApplet extends JApplet
{
private JButton button;
public void init()
{
button = new JButton ("Start Server");
button.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
Thread serverThread = new Thread
(
new Runnable()
{
public void run()
{
Server server = new Server();
server.runServer();
}
}
);
serverThread.start();
}
}
);
add (button);
}
}
Non mi da i problemi di prima, però se chiudo il frame, e lo riapro cliccando di nuovo sul pulsante dell'applet, viene lanciata una BindException, come se la connessione del Socket fosse ancora attiva, e quindi come se il frame precedente si fosse solo nascosto e non chiuso. Forse quel DISPOSE_ON_CLOSE del frame di Server non va bene? Come faccio a chiuderlo bene?