* @throws RemoteException eccezione remota
*/
@Override
public void sendMessage(Message msg) throws RemoteException {
String sender = msg.getSender();
ChatArea area = null;
switch (msg.getType()) {
case Message.PRIVATE_MASSAGE:
area = chatGUI.getPrivateArea(sender);
if (area == null) {
break;
}
area.append(msg);
break;
case Message.PUBLIC_MASSAGE:
area = chatGUI.getPublicArea();
area.append(msg);
break;
case Message.CONNECT_MESSAGE:
chatGUI.updateList(sender,true);
area = chatGUI.getPublicArea();
area.append(msg);
break;
case Message.DISCONNECT_MESSAGE:
if (privateUsersList.containsKey(sender)) {
removePrivateChat(sender);
chatGUI.removePrivateArea(sender);
}
chatGUI.updateList(sender,false);
area = chatGUI.getPublicArea();
area.append(msg);
break;
case Message.KICK_MESSAGE:
reset();
JOptionPane.showMessageDialog(chatGUI.getFrame(), msg.getMessage(), "Kick message", JOptionPane.INFORMATION_MESSAGE);
chatGUI.close();
break;
}
if (area != null) {
area.setCaretPosition(area.getText().length());
}
}