Skip to content
Snippets Groups Projects
Select Git revision
  • 90e5225eb0feaaaab192ea12970dcb8e1031b4d1
  • master default protected
  • hai
  • isaac
  • CheHao
  • Eldar
  • mpriymak
  • master-before-merging-with-hai
  • master-before-merging-with-isaac
  • rmi-working-before-merging-with-isaac
  • all-code-merged-by-hai-v1
11 results

ClientUpdate.java

Blame
  • 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;
        }