...after further researches I realized that matches() returns true if and only if the pattern matches in terms of content AND size...
For example: grep doesn't care there is characters after the .G it found 3GT A.csv it listed this string as a matching pattern; matches() won't because it exists following characters after the .G ( A.csv).
This is not related to Java 6 or 7 but that grep is not taking in count if there is trailing characters or not.
I did [3-6]GT.* and it worked everywhere (on both java 6 and java 7 test computers).
With the previous statement ([3-6]GT) my Applet worked only with 4GT, 5GT and 6GT (tests with 3GT A and B failed).