public void paint(Graphics g) {
        super.paint(g);
        Graphics2D g2d = (Graphics2D) g;
        Font f = new Font("font", Font.PLAIN, 40);
        g2d.setFont(f);
        g2d.setColor(java.awt.Color.yellow);
        int k = this.getHeight() * tile_height;
        int l = this.getWidth() * tile_width;

        //REALLY needs to be rewritten!!!  May want to define for loops to halt on c and r instead of l and k
        for(int i = 0, r = 0; i < k; i += tile_height, r++) {
            for(int j = 0, c = 0; j < l; j += tile_width, c++) {

                if(board_array[r][c].getChipColor() == ChipColor.BLACK)
                    g2d.drawImage(black_chip, j, i, this);
                else if(board_array[r][c].getChipColor() == ChipColor.WHITE)
                    g2d.drawImage(white_chip, j, i, this);
                else
                    g2d.drawImage(tile, j, i, this);
                if(c == 7)
                    c = 0;

            }
            if(r == 7)
                r = 0;
        }
        if(this.winner) {
            g2d.drawString(this.winner_string, 50, 50);
        }
    }