Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/zazof/jteg/gui/ChatPanel.java


1   /**
2    *  Represents the textarea where information is printed out, like chat messages
3    *
4    *  @author Jef De Geeter
5    *  @date August 2001
6    */
7   
8   package org.zazof.jteg.gui;
9   
10  import javax.swing.*;
11  import org.zazof.jteg.*;
12  
13  public class ChatPanel extends JTextArea implements MessageListener{
14  
15  // We make ChatPanel a SingleTon in order to allow other Actions in the program
16  // to write to the textarea
17  
18  
19    public  ChatPanel(){
20      super(); 
21      setRows(6);
22      setEditable(false);
23      MessageManager.getInstance().addMessageListener(this);
24    }
25  
26    public void setScrollBar(JScrollBar myScrollbar)
27      {
28       $myScrollbar = myScrollbar;
29      }
30  
31    public void writeMessage(String line)
32      {
33          addNewTextline(line);
34      }
35  
36    private void addNewTextline(String line){
37      if (DEBUG) System.out.println("LINE ADDED TO CHATPANEL");
38      append(line + "\n");
39      if ($myScrollbar != null)
40        $myScrollbar.setValue($myScrollbar.getMaximum());
41    }
42  
43    public void messageArrived(Message m){
44      if (DEBUG) System.out.println("Message received with name " + m.getMessageName());
45      if (m.getMessageName().equals("chat")){
46        ChatMessage cm;
47        cm = (ChatMessage) m;
48        addNewTextline(cm.getContent());    
49      }
50      if (m.getMessageName().equals("internalinfo")){
51        InformationMessage im;
52        im = (InformationMessage) m;
53        addNewTextline(im.getInfo());
54      }
55      if (m.getMessageName().equals("new_player")){
56        NewPlayerMessage npm;
57        npm = (NewPlayerMessage) m;
58        addNewTextline(LanguageManager.getInstance().lookup("playerjoined", npm.getNewPlayerName()));
59      }
60      if (m.getMessageName().equals("winner")){
61        WinnerMessage wm;
62        wm = (WinnerMessage) m;
63        try{
64          addNewTextline(LanguageManager.getInstance().lookup("playerthatwon", wm.getWinner().getName()));
65        }
66        catch (Exception exc){
67          addNewTextline(LanguageManager.getInstance().lookup("nonexistentplayer"));
68        }
69      }  
70      if (m.getMessageName().equals("dados")){
71        DiceMessage dm;
72        dm = (DiceMessage) m;
73      }
74    }
75  
76      private JScrollBar $myScrollbar;
77      private static final boolean DEBUG = false;
78  }