package bingo.shared; import java.awt.*; import java.awt.event.*; import com.sun.java.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); //Create the scroll pane and add the table to it. //XXX why isn't this an instance method? scrollPane = JTable.createScrollPaneForTable(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(); } }