Pessoal, eu estou estudando threads e sockets em Java, então decidi procurar um código de chat multithread para estudar. O que eu encontrei e usei pra estudar foi esse: http://www.devmedia.com.br/como-criar-um-chat-multithread-com-socket-em-java/33639
Entretanto eu me deparei com alguns problemas neste código que eu decidi resolver por conta própria, como parte do aprendizado.Um deles que eu não consegui resolver é o fato de eu não conseguir fechar a janela do chat através do botão sair. Ele apenas me desconecta do servidor, o que me impede de enviar ou receber mensagens, entretanto, eu ainda posso clicar no botão enviar e disparar o evento do botão Enviar, e como consequência, chama o método sendMessage, que exige conexão com o servidor. Resumindo, isso fica spamando stackTraces de erros no terminal.
O que eu queria é maneira de encerrar a aplicação ao apertar no botão Sair. Eu tentei usar o método dispose(), mas ele não fecha a janela e chama o JOptionPane que é executado no início da aplicação.
Help-me, pls!
Os códigos são esses:
- Cliente: http://pastebin.com/JFgfnB2p
- Servidor: http://pastebin.com/19R5QW6f