Skip to content
Snippets Groups Projects
Select Git revision
  • e662c0601a94cb994c61a690f6a282626894f4fd
  • master default protected
2 results

views.py

Blame
  • ChatScreen.java 4.64 KiB
    package GUI;
    
    import client.Client;
    import remote.IChatController;
    import remote.IClientController;
    
    import javax.swing.*;
    import java.awt.event.*;
    import java.rmi.RemoteException;
    
    public class ChatScreen {
    
        public JPanel panel2;
        public JPanel othersPanel;
    
        private JButton sendButton;
    
        private JComboBox sendMessageToComboBox;
        private JTextArea chatDisplayBox;
        private JComboBox kickUserComboBox;
        private JButton kickOutButton;
        private JButton promoteToManagerButton;
        private JTextField chatInputBox;
        private JLabel sendMessageToLabel;
        private JLabel managersNameLabel;
        private JLabel yourNameLabel;
        private JLabel yourNameDisplay;
        private JLabel managersNameDisplay;
        private JPanel myAreaPanel;
        private JPanel managersPanel;
        private JPanel chatPanel;
        private JButton exitThisRoomButton;
        private JFrame frame;
    
        public Client getClient() {
            return client;
        }
    
        public Client client;
    
        public ChatScreen(Client client)
        {
            this.client = client;
            yourNameDisplay.setText(client.getUserName());
            exitThisRoomButton.addActionListener(actionListener);
            sendButton.addActionListener(actionListener);
            kickOutButton.addActionListener(actionListener);
            promoteToManagerButton.addActionListener(actionListener);
        }
    
        public void setUserName(String userName)
        {
            this.yourNameDisplay.setText(userName);
        }
    
        public void setManagerName(String manager)
        {
            this.managersNameDisplay.setText(manager);
        }
    
        public JButton getSendButton() {
            return sendButton;
        }
    
        public JTextArea getChatDisplayBox() {
            return chatDisplayBox;
        }
    
        public JComboBox getSendMessageToComboBox()
        {
            return sendMessageToComboBox;
        }
    
        public JComboBox getKickUserComboBox()
        {
            return kickUserComboBox;
        }
    
        public void setManagerToolsVisibility() {
            try {
                if (client.getClientController().getAdmin().equals(client.getUserName())){
                    managersPanel.setVisible(true);
                }
                else {
                    managersPanel.setVisible(false);
                }
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        }
    
        public void exitChatScreen() {
            System.exit(0);
        }
    
        ActionListener actionListener = new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                if (e.getSource() == sendButton)
                {
                    String message = chatInputBox.getText();
                    chatInputBox.setText("");
                    IChatController chatController = client.getChatController();
                    try
                    {
                        System.out.println("Send button pressed");
    
                        String toUser = sendMessageToComboBox.getSelectedItem().toString();
    
                        if( toUser.equals("All") )
                        {
                            chatController.broadcastMessage(client.getUserName(), message);
                        }
                        else
                        {
                            chatController.sendPrivateMessage(client.getUserName(), toUser, message);
                        }
                    }
                    catch (RemoteException ex)
                    {
                        ex.printStackTrace();
                    }
                }
                else if (e.getSource() == exitThisRoomButton)
                {
                    System.out.println("Exit room button pressed by: " + client.getUserName());
                    client.getApplicationMain().closeWindow();
                }
                else if (e.getSource() == kickOutButton)
                {
                    IClientController clientController = client.getClientController();
                    String toUser = kickUserComboBox.getSelectedItem().toString();
    
                    try {
                        System.out.println("Kick out button pressed");
                        clientController.kickUser(client.getUserName(), toUser);
                    }
                    catch (RemoteException ex) {
    
                        ex.printStackTrace();
                    }
    
                }
                else if (e.getSource() == promoteToManagerButton)
                {
    
                    IClientController clientController = client.getClientController();
                    String toUser = kickUserComboBox.getSelectedItem().toString();
    
                    try {
                        System.out.println("Promote to manager button pressed");
                        clientController.assignAdmin(client.getUserName(), toUser);
                    }
                    catch (RemoteException ex) {
                        ex.printStackTrace();
                    }
    
                }
            }
    
        };
    }