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