001    import java.net.*;
002    import java.io.*;
003    import org.util.xml.io.*;
004    import org.util.xml.element.*;
005    import java.awt.*;
006    import java.awt.event.*;
007    import javax.swing.*;
008    
009    public class TeamManagerGUI {
010    
011            public TeamManagerGUI(TeamManager manager, XMLConfigManager config) throws Exception {
012                    init(manager, config);
013            }
014    
015            private TeamManager manager_;
016            private XMLConfigManager config_;
017    
018            public void init(TeamManager manager, XMLConfigManager config) throws Exception {
019    
020                    manager_ = manager;
021                    config_ = config;
022                    
023                    createAndShowGUI();
024            }
025            
026            public void createAndShowGUI() {
027                    JFrame frame = new JFrame();
028                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
029                    frame.setContentPane(createContent());
030                    //frame.pack();
031                    frame.setSize(500, 500);
032                    frame.setLocationRelativeTo(null);
033                    frame.setVisible(true);
034            }
035            
036            public JComponent createContent() {
037                    JPanel contentpane = new JPanel(new BorderLayout());
038                    contentpane.add(new JLabel("TeamManager"), BorderLayout.NORTH);
039                    final JPanel player_map_panel = new JPanel();
040                    manager_.addTeamManagerListener(new TeamManagerListener(){
041                            public void addPlayer(RealPlayer real) {
042                                    player_map_panel.add(new RealPlayerGUI(real));
043                                    player_map_panel.revalidate();
044                            }
045                            public void connected(RealPlayer real, VirtualPlayer virtual) {
046                            }
047                            public void disconnected(RealPlayer real, VirtualPlayer virtual) {
048                            }
049                    });
050                    contentpane.add(new JScrollPane(player_map_panel), BorderLayout.CENTER);
051                    final JTextArea log = new JTextArea();
052                    manager_.addLogWriter(new Writer() {
053                            @Override
054                            public void close() {}
055                            @Override
056                            public void flush() {}
057                            @Override
058                            public void write(char[] cbuf, int off, int len) {
059                                    log.append(new String(cbuf, off, len));
060                            }
061                    });
062                    JScrollPane sp = new JScrollPane(log);
063                    sp.setPreferredSize(new Dimension(100, 100));
064                    contentpane.add(sp, BorderLayout.SOUTH);
065                    return contentpane;
066            }
067    
068            public static void alert(Object message) {
069    //              javax.swing.JOptionPane.showMessageDialog(null, message);
070            }
071    
072    }