Select Git revision
ClientUpdate.java
ClientUpdate.java 3.91 KiB
package client;
import remote.IClientUpdate;
import javax.swing.*;
import java.io.Serializable;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class ClientUpdate extends UnicastRemoteObject implements IClientUpdate, Serializable {
private Client client;
public ClientUpdate(Client client) throws RemoteException
{
super();
this.client = client;
}
public boolean notifyClient(String fromClient, String newUsername) throws RemoteException
{
client.getApplicationMain().getChatScreen().getSendMessageToComboBox().addItem(newUsername);
return true;
}
// for debuggins purposes
private void printUserList(String[] users)
{
System.out.print("Currently connected users: ");
for( String s : users )
{
System.out.print(s + " ");
}
System.out.println();
}
@Override
public boolean updateUserList(String[] users) throws RemoteException
{
printUserList(users);
JComboBox userBox = client.getApplicationMain().getChatScreen().getSendMessageToComboBox();
JComboBox kickUserBox = client.getChatScreen().getKickUserComboBox();
userBox.removeAllItems();
kickUserBox.removeAllItems();
userBox.addItem("All");
for( String s : users )
{
if( !s.equals(client.getUserName()) )
{
userBox.addItem(s);
}
if( !s.equals(client.getClientController().getAdmin()) )
{
kickUserBox.addItem(s);
}
else {
client.getApplicationMain().getChatScreen().setManagerName(s);
}
}
return true;
}