Argumentet til JTextField siger kun hvor bredt feltet ser ud, det begrænser på ingen måde antallet af tegn, der kan indtastes.
Du har m.a.o. sådan ca. allerede den funktionalitet, du ønsker dig
Det eneste du måske skal er, at teste hvor mange tegn, brugeren faktisk har indtastet, og så give en fejlmeddelelse hvis der er for mange.
Jeg ville nok regne med at "@" medregnes til den totale længde, men ikke til domænenavnet.
Hvis du vil have selve feltet til at begrænse antallet af tegn, der kan indtastes, kan du bruge et JFormattedTextField, men det er næsten stensikkert overflødigt, og vil give dig unødig hovedpine.
Hvorfor vil du overhovedet validere adressen? Hvis det er en allerede eksisterende modtager, så opdager man vel om den er korrekt når man prøver at sende noget til den. Den mest oplagte fejl er jo nok ikke antallet af tegn i adressen, men snarere alle mulige andre tastefejl, så det er nok lidt sjældent, at dit check vil blive relevant.
Du må selvfølgelig validere længden, hvis den er begrænset et andet sted i din applikation - f.eks. i størrelsen på et databasefelt.