boa noite.
Preciso da ajuda de vocês em algo meio simples, estou fazendo uma chat via RMI, a implementação do programa já está funcionando mais o menos como eu quero, mas eu to quebrando a cabeça em um simples print. Eu preciso organizar a saída para que fique da seguinte maneira:
Chat: digitar mensagem
fulano de tal diz: mensagem digitada
Meu programa uma uma thread para ler as mensagens do servidor, e é justamente essas mensagens que não estou conseguindo organizar.
atualmente as mensagens estão saindo da seguinte forma:
Chat: Digitar Mensagem
Chat: fulano de tal diz: mensagem digitada
Ou seja, eu gostaria de seguir a sequeência
Mensagem
Mesagem
Sei que é meio besta essa dúvida, mas eu realmente não estou conseguindo fazer isso kkkk segue meu codigo:
import java.rmi.Naming; import java.rmi.RemoteException; import java.util.Scanner; public class ChatCliente{ private static Scanner scanner; public static void main(String[] args) { try { ChatIF chat = (ChatIF) Naming.lookup("rmi://localhost:1098/Chat"); //Buscando a Interface no Servidor String nome; String msg = ""; scanner = new Scanner(System.in); int cont = chat.getmensagens().size(); //Recebendo o nome do Usuario System.out.println("---------------------------------------------"); System.out.println(" SEJA BEM VINDO AO CHAT "); System.out.println("---------------------------------------------"); System.out.print("[Chat] Por Favor, Digite seu nome: "); nome = scanner.nextLine(); //Thread responsavel por ler as mensagens do servidor Thread thread = new Thread(new Runnable() { int cont = chat.getmensagens().size(); @Override public void run() { try { while(true){ if (chat.getmensagens().size() > cont){ System.out.println(chat.getmensagens().get(chat.getmensagens().size()-1)); cont++; } } }catch (RemoteException e) { e.printStackTrace(); } } }); System.out.println("---------------------------------------------"); System.out.println("Ola, " + nome + "! Voce agora esta conectado!"); System.out.println("---------------------------------------------"); thread.start(); //Envia as mensagens para o servidor while(true){ System.out.print("[Chat]"+": "); msg = scanner.nextLine(); chat.setMensagem(nome+" diz"+": "+msg); } } catch (Exception e) { System.out.println("Ocorreu um erro: " + e); } } }