@Override
      public void paintComponent(Graphics g) {
         super.paintComponent(g);
         Graphics2D g2d = (Graphics2D) g;
         g2d.setColor(Color.BLACK);
         for (int a = 0; a < knownCells.size(); a++) {
            int x = (knownCells.get(a).locX * 50) + 5;
            int y = (floorYdimension * 50 + 5) - (knownCells.get(a).locY * 50);
            if (knownCells.get(a).sI.features[3] == SensorInterface.feature.OBSTICLE) {
               g2d.fillRect(x - 2, y, 5, 50);
            } else {
               g2d.fillRect(x, y, 1, 50);
            }
            if (knownCells.get(a).sI.features[1] == SensorInterface.feature.OBSTICLE) {
               g2d.fillRect(x + 48, y, 5, 50);
            } else {
               g2d.fillRect(x + 50, y, 1, 50);
            }
            if (knownCells.get(a).sI.features[2] == SensorInterface.feature.OBSTICLE) {
               g2d.fillRect(x, y + 48, 50, 5);
            } else {
               g2d.fillRect(x, y + 50, 50, 1);
            }
            if (knownCells.get(a).sI.features[0] == SensorInterface.feature.OBSTICLE) {
               g2d.fillRect(x, y - 2, 50, 5);
            } else {
               g2d.fillRect(x, y, 50, 1);
            }

            if (knownCells.get(a).sI.atChargingStation) {
               g2d.drawString("Charge", x + 5, y + 21);
               g2d.drawString("Station", x + 6, y + 35);
            }
         }
         g2d.setColor(Color.ORANGE);
         for ( int i = 0; i < openList.size(); i ++ ){
            g2d.fillRect ( openList.get(i).cd.locX* 50 + 10 ,
            (floorYdimension * 50 + 10) - (openList.get(i).cd.locY * 50),40,40);
         }

         g2d.setColor(Color.YELLOW);
         for ( int i = 0; i < closedList.size(); i ++ ){
            g2d.fillRect ( closedList.get(i).cd.locX* 50 + 10 ,
            (floorYdimension * 50 + 10) - (closedList.get(i).cd.locY * 50),40,40);
         }

         g2d.setColor(Color.GREEN);
         for ( int i = 0; i < returnPath.size(); i ++ ){
            g2d.fillRect ( returnPath.get(i).locX * 50 + 10 ,
            (floorYdimension * 50 + 10) - (returnPath.get(i).locY * 50),40,40);
         }
      }