public void update(int playerScores[]){
        for(int i=0;i<playerScores.length;i++){
            this.playerTotals[i] = playerScores[i];
            this.l_playerTotals[i]
                .setText(new Integer(playerScores[i]).toString());   
        }
        
        p_playerScores.removeAll();
        
        //figure out the order each players should be
        //displayed based on score->>high to low.
        int scoreOrder[] = new int[this.numPlayers];
        boolean picked[] = new boolean[this.numPlayers];
        
        for(int i=0;i<scoreOrder.length;i++){
            picked[i] = false;
        }
        
        for(int i=0;i<scoreOrder.length;i++){
            //get first non-'picked' element
            int low = 0;
            for(int j=0;j<scoreOrder.length;j++){
                if(picked[j]==false){
                    low = j;
                    break;
                }
            }
            //find lowest scored non-'picked' element
            for(int j=0;j<scoreOrder.length;j++){
                if((playerTotals[low]>=playerTotals[j])&&(picked[j]==false)){
                    low=j;
                }
            }
            scoreOrder[i] = low;
            picked[low] = true;
        }
        
        GridBagConstraints c = new GridBagConstraints();
        c.fill = GridBagConstraints.BOTH;
        c.anchor = GridBagConstraints.CENTER;
        c.weightx = 1.0;
        c.weighty = 1.0;
        c.gridx = 0;
        c.gridy = 0;
        c.insets = new Insets(5,0,5,0);
        for(int i=(numPlayers-1);i>=0;i--){
            c.gridy++;
            p_playerScores.add(container[scoreOrder[i]],c);
        }
        
        c.weighty = .2;
        c.insets = new Insets(1,0,1,0);
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridy++;
        p_playerScores.add(b_newGame,c);
        c.gridy++;
        p_playerScores.add(b_toMainMenu,c);
    }