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
[code]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();
}
}
}[/code]
ChatServer
[code]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();
}
}[/code]
ChatImpl
[code]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);
}
}[/code]
Chat
[code]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;
}[/code]
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.