package bingo.shared;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
import java.util.Vector;

public class PlayerInfoPane extends JPanel implements PlayerListener {
    protected JScrollPane scrollPane;
    protected JTable cardsAndPlayers;
    protected PlayerInfoModel model;

    public PlayerInfoPane() {
	super(false); //XXX

	model = new PlayerInfoModel();
        cardsAndPlayers = new JTable(model);
	model.addTableModelListener(cardsAndPlayers);
	
	scrollPane = new JScrollPane(cardsAndPlayers);

	//Add the scroll pane to this panel.
	setLayout(new GridLayout(1, 0));
        add(scrollPane);

	scrollPane.setPreferredSize(new Dimension(300, 50)); //arbitrary 

        try {
            new PlayerListenerThread(this).start();
        } catch (java.io.IOException e) {
            //PENDING what to do?
        }
    }

    // Safe to call from any thread.
    public void updatePlayer(PlayerRecord playerRecord) {
	model.updatePlayer(playerRecord);
    }

    // Safe to call from any thread.
    public void clear() {
	model.clear();
    }
}
