(Resolvido)Implementação de Chat com interface (Problema na interface)

0 respostas
B

Seguinte galera, não sou muito bom (na verdade não sou nada bom em java), mas batendo a cabeça e procurando em foruns, acabei achando este código, e alterei algumas coisas para que possa servir pro meu propósito.
Bem, estas são as classes:

ChatClient
import java.rmi.*;
import javax.swing.*;

public class ChatClient {
        
        public static void main( String args[] ) {
                try {
                        Chat c = (Chat) Naming.lookup( "rmi://localhost/ChatServer" );
			c.enviarMensagem(JOptionPane.showInputDialog("Entre com uma mensagem"));


			String texto = (c.lerMensagens());
			JOptionPane.showMessageDialog(null,texto);
			
                }
                catch( Exception e ) {
                        e.printStackTrace();
                }
        }
}
ChatServer
import java.rmi.Naming;
public class ChatServer {
        
        public ChatServer() {
                try {
                        Chat c = new ChatImpl();
                        Naming.rebind("rmi://localhost:1099/ChatServer", c);
                }
                catch( Exception e ) {
                        e.printStackTrace();
                }
        }
        
        public static void main(String[] args) {
                new ChatServer();
        }
}
ChatImpl
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import javax.swing.*;

public class ChatImpl extends UnicastRemoteObject implements Chat {
        StringBuffer mensagens;
        public ChatImpl() throws RemoteException {
                super();
                this.mensagens = new StringBuffer();
        }
        
        public void enviarMensagem( String mensagem) throws RemoteException{
		mensagens.append(mensagem+"\n");
		

        }
        
        public String lerMensagens() throws RemoteException{
		return new String(mensagens);
        }
}
Chat
import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Chat extends Remote {
        public void enviarMensagem( String msg ) throws RemoteException;
        public String lerMensagens() throws RemoteException;
}

Meu problema é o seguinte: Quando executo o ChatClient, eu preciso digitar (sim, uso o console...) java ChatClient "Mensagem aqui"...
E quando digito isso, botei para que desse retorno em um MessageDialog, isso deu certo. Mas agora, quero que ao invés de precisar digitar a Mensagem no prompt,
apareça uma InputDialog. Já consegui botar a Input, mas não consegui fazer ela imprimir na MessageDialog. Alguém poderia dar essa força?
Espero não ter ficado muito confuso, é que não dormi @_@ Amanheci terminando um trabalho, e só falta essa parte de Objetos Distribuidos para entrega-lo.

Criado 13 de junho de 2011
Respostas 0
Participantes 1