public void addRecentFile( String filename )
    {
        boolean notListed = true; //true if file is not on list, false if on list
        int index = 0;

        //determine if filename exists in list
        for(int i=0; i<numRecentFiles; i++)
        {
            String rf = getRecentFile( i );
            if( rf!=null && !rf.equalsIgnoreCase("null") )
                if( rf.equalsIgnoreCase( filename ) )
                {
                    notListed = false;
                    index = i;
                }
        }

        //increment #files for this file if not already on list and menu not full
        if( notListed && (this.numRecentFiles < this.MAX_NUM_RECENT_FILES) )
            numRecentFiles++;

        if( notListed )
        {
            //remove oldest file from list (push all files down the list)
            for( int i=numRecentFiles-1; i>0 ; i--)
                    recentFile[ i ] = getRecentFile( i-1 );
        }
        else //shuffle file order
        {
            String temp = recentFile[ index ];
            for( int i=index; i>0; i-- )
            {
                recentFile[ i ] = recentFile[ i-1 ];
            }
            recentFile[0] = temp;
        }

        //put newest at top
        recentFile[ 0 ] = filename;
    }