public UniversePanel(LifeFrame pf, Universe u, int displayCellSize, Color lc, Color dc, boolean b)
    {
        parentFrame = pf;
        universe = u;
        displayCells = new DisplayCell[universe.rows][universe.cols];
        liveColor = lc;
        deadColor = dc;
        borders = b;
        UniversePanelListener listener = new UniversePanelListener(); 
        Dimension size = new Dimension(displayCellSize, displayCellSize);
        setLayout(new GridLayout(displayCells.length, displayCells[0].length));
        for (int i=0; i<displayCells.length; i++)
            {
                for (int j=0; j<displayCells[0].length; j++)
                    {
                        DisplayCell displayCell = new DisplayCell(i, j);
                        displayCell.setOpaque(true);
                        if (universe.board[i][j] == Universe.State.ALIVE)
                            displayCell.setBackground(lc);
                        else
                            displayCell.setBackground(dc);
                        displayCell.addMouseListener(listener);
                        displayCell.setPreferredSize(size);
                        add(displayCell);
                        displayCells[i][j] = displayCell;
                    }
            }
        if (borders)
            setBorders(true);
    }