IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

[JTextField]Limiter le nombre de caractères


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 9
    Points
    9
    Par défaut [JTextField]Limiter le nombre de caractères
    Salut a tous!

    Je suis en train de réaliser un jeu de mots-croisés et pour la grille du jeu j'ai utilisé un tableau de JTextField, mais voila le problème c'est que j'aimerai qu'on ne puisse qu'ecrire qu'une seule lettre par case (normal pour un jeu de mots croisés ^^).

    merci d'avance !

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Il te faut utiliser une classe implémentant PlainDocument, tu peut faire de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    public class TextLimiter extends PlainDocument {
    	private static final long serialVersionUID = 6016644222758009922L;
     
    	private int max;
     
    	public TextLimiter(int max){
    		super();
     
    		this.max = max;
    	}
     
    	public void insertString(int offset, String str, AttributeSet attrs) throws BadLocationException {
    		if (str != null && getLength() + str.length() > max) {
    			Toolkit.getDefaultToolkit().beep();
    		} else {
    			super.insertString(offset, str, attrs);
    		}
    	}
     
    	public void replace(int offset, int length, String str, AttributeSet attrs)
    			throws BadLocationException {
    		if (str != null && getLength() + str.length() - length > max) {
    			Toolkit.getDefaultToolkit().beep();
    		} else {
    			super.replace(offset, length, str, attrs);
    		}
    	}
    }
    et ensuite tu le passes à ton JTextField de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonJTextField.setDocument(new TextLimiter(1));
    P.S. Pense à utiliser un titre plus explicite

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    merci beaucoup !

    désolé pour le titre, j'essairai d'etre plus explicite la prochaine fois
    merci encore

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par Rukawa
    merci beaucoup !

    désolé pour le titre, j'essairai d'etre plus explicite la prochaine fois
    merci encore
    Merci et oublie pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JTextField]Limiter le nombre de caractères admis
    Par thierrykammi dans le forum Composants
    Réponses: 4
    Dernier message: 13/10/2008, 18h04
  2. [JTextField] Limiter le nombre de caractères
    Par sky88 dans le forum Composants
    Réponses: 3
    Dernier message: 17/07/2008, 09h45
  3. Réponses: 1
    Dernier message: 20/04/2006, 20h29
  4. [JTextField] Limiter le nombre de caractères
    Par Sweet2002 dans le forum Composants
    Réponses: 7
    Dernier message: 12/05/2005, 14h29
  5. [JTextField] Limiter le nombre de caractères
    Par thomas_strass dans le forum Composants
    Réponses: 2
    Dernier message: 08/09/2004, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo