these are the errors I keep on getting:
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
Exception in thread "RMI TCP Connection(3)-127.0.0.1" java.lang.OutOfMemoryError: Java heap space
Exception in thread "RMI RenewClean-" java.lang.OutOfMemoryError: Java heap space
Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: Java heap space
I have several menu actors all with the same code except with different names, my question is  how to avoid the heap space error, and is it a code problem or something else?
Thanks! :)
  import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.awt.Color;
/**
 * Write a description of class Levels here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Levels extends Buttons
{
    private static final Color transparent = new Color(0,0,0,0);
    private GreenfootImage background;
    /**
     * Create a new counter, initialised to 0.
     */
    public Levels()
    {
        background = getImage();  // get image from class
        setImage("invisoButton.png");
        
        updateImage();
    }
    /**
     * Act - do whatever the Levels wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
        click();
    }    
    public void click() 
    {
        if (Greenfoot.mouseClicked(this))
        {
            getWorld().removeObjects(getWorld().getObjects(Controls.class)); 
            getWorld().removeObjects(getWorld().getObjects(Credits.class)); 
            getWorld().removeObjects(getWorld().getObjects(Settings.class)); 
            Level1 level1 = new Level1();
            getWorld().addObject(level1, 100, 375);
            Ready ready = new Ready();
            getWorld().addObject(ready, 500, 375);
            Back back = new Back();
            getWorld().addObject(back, 100, 375);
            setLocation(175, 75);
        }    
    }
    /**
     * Update the image on screen to show the current value.
     */
    private void updateImage()
    {
        GreenfootImage image = new GreenfootImage(background);
        GreenfootImage text = new GreenfootImage("Levels", 44, Color.BLACK, transparent);
        image.drawImage(text, (image.getWidth()-text.getWidth())/2,(image.getHeight()-text.getHeight())/2);
        setImage(image);
    }
}     
          
         
   

