View Javadoc
1 /***
2 * Copyright (c) 2003 held jointly by the individual authors.
3 *
4 * This library is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License as published
6 * by the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; with out even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this library; if not, write to the Free Software Foundation,
16 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17 *
18 * > http://www.gnu.org/copyleft/lesser.html
19 * > http://www.opensource.org/licenses/lgpl-license.php
20 */
21 package net.mlw.gfw.ext.basic.client.component;
22
23 import java.awt.GridLayout;
24
25 import javax.swing.JLabel;
26
27 import net.mlw.gfw.client.ClientContext;
28 import net.mlw.gfw.event.Event;
29 import net.mlw.gfw.ext.basic.event.ChooseTeamEvent;
30
31 /***
32 * @author Matthew L. Wilson
33 * @version $Revision: 1.2 $ $Date: 2004/06/29 20:32:58 $
34 */
35 public class TeamDisplayPanel extends BaseJPanel
36 {
37 public static final String PLAYER_TOKENIZER = " / ";
38
39 private int numberOfTeams;
40 private JLabel[] teamNames;
41 private JLabel[] playerNames;
42
43 public TeamDisplayPanel(String[] teamNames)
44 {
45 this.numberOfTeams = teamNames.length;
46 this.teamNames = new JLabel[numberOfTeams];
47 this.playerNames = new JLabel[numberOfTeams];
48
49 for (int i = 0; i < teamNames.length; i++)
50 {
51 this.teamNames[i] = new JLabel(teamNames[i], JLabel.CENTER);
52 this.playerNames[i] = new JLabel("", JLabel.CENTER);
53 }
54 }
55
56 public void setTeamName(String name, int index)
57 {
58 teamNames[index].setText(name);
59 }
60
61 public void addPlayer(String name, int team)
62 {
63 String text = (playerNames[team].getText().length() == 0) ? name : playerNames[team].getText() + PLAYER_TOKENIZER + name;
64
65 playerNames[team].setText(text);
66 }
67
68 /***
69 * @see net.mlw.gfw.client.ClientEventHandler#init(net.mlw.gfw.client.ClientContext)
70 */
71 public void init(ClientContext context)
72 {
73 this.removeAll();
74 this.setLayout(new GridLayout(2, numberOfTeams));
75
76 for (int i = 0; i < numberOfTeams; i++)
77 {
78 add(teamNames[i]);
79 }
80 for (int i = 0; i < numberOfTeams; i++)
81 {
82 add(playerNames[i]);
83 }
84 }
85
86 /***
87 * @see net.mlw.gfw.event.EventHandler#onEvent(net.mlw.gfw.event.Event)
88 */
89 public void onEvent(Event event)
90 {
91 if (event instanceof ChooseTeamEvent)
92 {
93 ChooseTeamEvent cte = (ChooseTeamEvent) event;
94 if (!cte.needToChoose())
95 {
96 addPlayer(cte.getUserName(), cte.getTeam());
97 }
98 }
99 }
100 }
This page was automatically generated by Maven