JScrollPane newLabyPanel(final Labyrinth laby) {
        //final Labyrinth laby = new Labyrinth(20,20);
        JPanel panel = new JPanel() {
            public void paintComponent(Graphics g) {
                super.paintComponent(g);
                Graphics2D g2 = (Graphics2D) g;


                //Draw solution
                if (!laby.isSolved()) {
                    laby.resolve();
                }

                Stack<Coordinates> tempStack = (Stack<Coordinates>) laby.getSolvedPath().clone();
                while (tempStack.size() != 0) {
                    Coordinates temp = tempStack.pop();
                    g2.setColor(Color.orange);
                    g2.fillOval((temp.getX() * 20) + 5, (temp.getY() * 20) + 5, 10, 10);
                }
                tempStack.empty();

                //Start Point
                g2.setColor(Color.green);
                g2.fillOval(laby.getStartX() * 20, laby.getStartY() * 20, 20, 20);
                //End Point
                g2.setColor(Color.red);
                g2.fillOval(laby.getEndX() * 20, laby.getEndY() * 20, 20, 20);

                //Drawing Labyrinth
                g2.setColor(Color.black);
                for (int a = 0; a < laby.getCaseArray().length; a++) {
                    for (int b = 0; b < laby.getCaseArray()[0].length; b++) {
                        if (laby.getCaseArray()[a][b].getTopWall())
                            g2.drawLine((a) * 20, (b) * 20, (a + 1) * 20, (b) * 20); //Top
                        if (laby.getCaseArray()[a][b].getLeftWall())
                            g2.drawLine((a) * 20, (b) * 20, (a) * 20, (b + 1) * 20); //Left
                        if (laby.getCaseArray()[a][b].getBottomWall())
                            g2.drawLine((a + 1) * 20, (b + 1) * 20, (a) * 20, (b + 1) * 20); //Bottom
                        if (laby.getCaseArray()[a][b].getRightWall())
                            g2.drawLine((a + 1) * 20, (b + 1) * 20, (a + 1) * 20, (b) * 20); //Right
                    }
                }
            }
        };
        panel.setPreferredSize(new Dimension((laby.getCaseArray().length * 20) + 1, (laby.getCaseArray()[0].length * 20) + 1));
        return new JScrollPane(panel);
    }