Witam,
piszę sobie właśnie serwer wykorzystujący RMI i serwer ten powinien mieć interfejs graficzny. Generalnie problem wygląda tak, że klient zadaje pytanie serwerowi, a serwer musi na nie odpowiedzieć tak lub nie. Dlatego chcę zrobić dwa przyciski, które wyślą odpowiednią odpowiedź. Zatem należy nadpisać funkcję z interfejsu. Może pokażę trochę kodu:
Interfejs:
public interface MyInterface extends java.rmi.Remote
{
boolean zapytaj(String pytanie) throws RemoteException;
}
Implementacja Serwera:
public class Server extends UnicastRemoteObject
implements MyInterface
{
public Server () throws RemoteException
{
super();
con = new EasyReader();
}
public boolean zapytaj(String pytanie) throws RemoteException
{
System.out.println("Pytanie: "+pytanie);
String answer = con.readWord();
if(answer.trim().toLowerCase().equals("tak"))
return true;
else{
System.out.println("NIE");
return false;
}
}
public static void main ( String args[] ) throws Exception
{
if (System.getSecurityManager() == null)
System.setSecurityManager ( new RMISecurityManager() );
// Create an instance of our power service server ...
Server svr = new Server();
// ... and bind it with the RMI Registry
Naming.bind ("PowerService", svr);
System.out.println ("Service bound....");
}
}
No i teraz pytanie jak dorobić do tego interfejs graficzny? Klasa z interfejsem graficznym musi dziedziczyć po JFrame, a wiadomo, że w Javie dziedziczy się maksymalnie z jednej klasy. Poza tym, jak obsłużyć kliknięcie przycisku? Czy np. kliknięcie na TAK ma ustawić jakąś flagę, którą odczyta funkcja zapytaj(String)? Trochę to dla mnie niejasne. Fajnie by było gdyby ktoś zamieścił jakiś przykładowy kod z GUI. Z góry dzięki