Olá a todos!!Tenho meu chat, onde seleciono o usuario com quem eu quero falar e digito a mensagem!!Tudo bem!!
Gostaria de separar a conversa em janelas diferentes!!Mas não consigo imaginar, como eu poderia fazer isso!!
Criar uma tarefa para que essa janela trabalhe separadamente?!Não sei!!Os neurônios já estão acabando!!hehehe!!!
Eu fiz um chat em um trabalho uma vez, e fiz um map que a chave era o usuário (ou o id dele, não lembro agora), e o valor era a própria janela (uma classe que extendia jframe).
Daí eu podia recuperar a janela de conversa com um determinado usuário, se não tivesse uma janela pra aquele usuário, eu abria uma e adicionava no map.
A classe que extendia JFrame que eu criei tinha um método addMessage(String mensagem), daí depois de recuperada a janela daquele usuário eu adicionava as mensagens por este método.
É lógico que existem outras maneiras de fazer isso, essa foi a que eu pensei.
Qualquer coisa fala aí.
Abraços
Imaginei um mapa também, mas dai me deparei com os eventos!!
Para o recebimento de mensagens usei uma thread que tratava uma fila de mensagens recebidas, ela que verificava qual usuário que enviou a mensagem e adicionava a mensagem na janela correta.
Para o envio daí vai depender de como você fez o controle, mas essa parte acho mais fácil pois você já sabe pra quem deve mandar a mensagem.
Abraços
Também fiz um chat há pouco tempo.
Quanto as várias janelas, você não precisa criar uma thread para cada uma, já que o Swing já tem um controle muito bom quanto à isso.
Sobre enviar uma mensagem para cada janela, resolvi isso criando uma classe que era associada à cada janela e ao mesmo tempo era listener do controle de mensagens. Esta classe se registrava como listener dizendo que tinha interesse nas mensagens de um usuário específico. Desta forma, cada vez que uma nova mensagem chegava o determinado listener recebia o evento.
Olá será que alguém poderia me ajudar estou criando um chat onde o usuario pode escolher se vai mandar a mensagem para todos os usuarios ou uma mensagem privada para apenas um usuário, se ele escolher apenas um é aberta uma nova janela para digitar sua mensagem mais não estou conseguindo fazer esse mensagem chegar apenas para o determinado destinatário ela está indo para todos.
Alguém sabe o que posso fazer
Obrigado
meu email para contato é :
cygnus.tks@hotmail.com
[quote=marcos.cgs]Olá será que alguém poderia me ajudar estou criando um chat onde o usuario pode escolher se vai mandar a mensagem para todos os usuarios ou uma mensagem privada para apenas um usuário, se ele escolher apenas um é aberta uma nova janela para digitar sua mensagem mais não estou conseguindo fazer esse mensagem chegar apenas para o determinado destinatário ela está indo para todos.
Alguém sabe o que posso fazer
Obrigado
meu email para contato é :
cygnus.tks@hotmail.com[/quote]
Olá Marcos,
Para que alguem te ajude mais facilmente, sugiro que crie outro tópico, para tratar especificamente do seu problema.
Descreva o que está ocorrendo, qual sua dificuldade, poste trechos relevantes do seu código e, se ocorrerem erros, poste os mesmos.
Cara, eu sei que o tópico é antigo mas vale a pena responder.
Fiz um chat com interface web onde é possível abrir e fechar janelas com usuários diferentes.
O código está comentado. Se quiser pode até melhorar.
http://sites.google.com/site/diogooliveiramonte/trabalhos-e-artigos