begin process at 2012 02 11 13:37:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Swing

 > JTEXTFIELD N'ACCEPTANT QUE DES ENTIERS, CHAÎNES .....

JTEXTFIELD N'ACCEPTANT QUE DES ENTIERS, CHAÎNES .....


 Information sur la source

Note :
3 / 10 - par 4 personnes
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Swing Classé sous :jtextfield, numérique, numéric, entier, chaînes Niveau :Débutant Date de création :09/03/2004 Date de mise à jour :11/03/2004 08:48:28 Vu / téléchargé :13 279 / 949

Auteur : indiana_jules

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Voici quelques classes qui permet d'avoir des JTextField nous permettant de n'avoir que des chaines, que des entiers, que des réels, qui met automatiquement des caractéres en majuscule ou en minuscule, ou encore qui permet de ne mettre qu'un certain nombre de caractéres ...

Ci-dessous le cas du JIntegerField avec la classe IntegerCaseDocument

Source

  • package myfield;
  • /**
  • * <p>Titre : JIntegerField</p>
  • * <p>Description : Champ ne contenant <u>que</u> des entiers (pas de chaines)</p>
  • * <p>Copyright : Copyright (c) 2003</p>
  • * <p>Société : perso</p>
  • * @author Indiana_jules
  • * @version 1.0
  • */
  • //Importation des packages nécessaires
  • import javax.swing.JTextField;
  • import javax.swing.text.*;
  • import myfield.restriction.IntegerCaseDocument;
  • public class JIntegerField extends JTextField{
  • /**Constructeur par défaut*/
  • public JIntegerField() {
  • super();
  • }
  • /**Méthode permettant d'indiquer quel type de modéle nous souhaitons*/
  • protected Document createDefaultModel() {
  • return new IntegerCaseDocument();
  • }
  • /**Méthode retournant l'entier*/
  • public int getInt() {
  • try{
  • return Integer.parseInt(super.getText().trim()); //éliminer les blancs en début et fin de chaine
  • }
  • catch(Exception e){
  • return 0;
  • }
  • }
  • /**Méthode affectant l'entier*/
  • public void setInt(int entier) {
  • super.setText(""+entier);
  • }
  • }
  • *******************************************************************
  • package myfield.restriction;
  • /**
  • * <p>Titre : IntegerCaseDocument</p>
  • * <p>Description : Classe faisant en sorte qu'on ait que des entiers</p>
  • * <p>Copyright : Copyright (c) 2003</p>
  • * <p>Société : perso</p>
  • * @author Indiana_jules
  • * @version 1.0
  • */
  • //Importation des packages nécessaires
  • import javax.swing.text.*;
  • public class IntegerCaseDocument extends PlainDocument{
  • /**Méthode appelé lorsqu'on veut insérer un élément dans un JTextField*/
  • public void insertString(int offs, String str, AttributeSet a)
  • throws BadLocationException {
  • if (str == null) {
  • return;
  • }
  • char[] upper = str.toCharArray();
  • String tempo = "";
  • for (int i = 0; i < upper.length; i++) {
  • switch(upper[i]){
  • case '0':
  • case '1':
  • case '2':
  • case '3':
  • case '4':
  • case '5':
  • case '6':
  • case '7':
  • case '8':
  • case '9':
  • tempo = tempo + upper[i];
  • break;
  • default:
  • tempo = tempo + "";
  • }
  • }
  • super.insertString(offs, tempo, a);
  • }
  • }
package myfield;

/**
 * <p>Titre : JIntegerField</p>
 * <p>Description : Champ ne contenant <u>que</u> des entiers (pas de chaines)</p>
 * <p>Copyright : Copyright (c) 2003</p>
 * <p>Société : perso</p>
 * @author Indiana_jules
 * @version 1.0
 */

//Importation des packages nécessaires
import javax.swing.JTextField;
import javax.swing.text.*;
import myfield.restriction.IntegerCaseDocument;


public class JIntegerField extends JTextField{
  /**Constructeur par défaut*/
  public JIntegerField() {
    super();
  }

  /**Méthode permettant d'indiquer quel type de modéle nous souhaitons*/
  protected Document createDefaultModel() {
               return new IntegerCaseDocument();
  }

  /**Méthode retournant l'entier*/
  public int getInt() {
    try{
      return Integer.parseInt(super.getText().trim()); //éliminer les blancs en début et fin de chaine
    }
    catch(Exception e){
      return 0;
    }
  }

  /**Méthode affectant l'entier*/
  public void setInt(int entier) {
    super.setText(""+entier);
  }
}

*******************************************************************
package myfield.restriction;

/**
 * <p>Titre : IntegerCaseDocument</p>
 * <p>Description : Classe faisant en sorte qu'on ait que des entiers</p>
 * <p>Copyright : Copyright (c) 2003</p>
 * <p>Société : perso</p>
 * @author Indiana_jules
 * @version 1.0
 */

//Importation des packages nécessaires
import javax.swing.text.*;

public class IntegerCaseDocument extends PlainDocument{
  /**Méthode appelé lorsqu'on veut insérer un élément dans un JTextField*/
  public void insertString(int offs, String str, AttributeSet a)
      throws BadLocationException {

    if (str == null) {
      return;
    }
    char[] upper = str.toCharArray();
    String tempo = "";
    for (int i = 0; i < upper.length; i++) {
      switch(upper[i]){
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
          tempo = tempo + upper[i];
          break;
        default:
          tempo = tempo + "";
      }

    }
    super.insertString(offs, tempo, a);
  }
}

 Conclusion

La classe IntegerCaseDocument permet en fait de formater comme nous souhaitons les données qui sont envoyés au JTextField. Du coup, nous pouvons filtrer ce que nous ne désirons pas

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

UNE SEULE INSTANCE DE PROGRAMME SANS SOCKET
Source avec Zip JMF ET RTP
Source avec Zip Source avec une capture JTABBEDPANE FERMABLE AVEC GESTION DU DRAG AND DROP
Source avec Zip OBSERVER ET OBSERVABLE EN RMI
Source avec Zip Source avec une capture HEADER POUR LES LIGNES D'UNE JTABLE

 Sources de la même categorie

Source avec Zip Source avec une capture MENU CIRCULAIRE EN SWING par Julien39
Source avec Zip Source avec une capture BANNIÈRE EN SWING : TEXTE DÉFILANT SUR UN JLABEL par Julien39
Source avec Zip Source avec une capture INDICATEUR D'ACTIVITÉ ANIMÉ par Julien39
Source avec Zip Source avec une capture JGRAPH : COMPOSANTS SWING CUSTOMISÉS par Julien39
Source avec Zip Source avec une capture JTABLE CUSTOMISÉE par Julien39

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture INPLACE EN SWING : TRANSFORMER UN JLABEL EN UN TEXTFIELD par Julien39
STRING TO (STRING) INT par maximelien
Source avec Zip TRANSFORMATION NOMBRE EN LETTRE par smarticu
Source avec Zip ROMANOP : UN UTILITAIRE POUR LES NOMBRES ROMAINS (CONVERSION... par vladmanchev
Source avec Zip Source avec une capture PANNEAU À AFFICHAGE NUMÉRIQUE LCD par damned3

Commentaires et avis

Commentaire de tds le 10/03/2004 12:30:53

euh oui, c'est chouette.

Commentaire de GodConan le 09/04/2004 17:59:21

euu vi y a qd meme plus simple ;o)

faut use :
MaskFormatter
        et
JFormattedTextField

Commentaire de minosubb le 25/05/2008 02:27:25

Je trouve ton code intéressant. Déjà il me retire une épine du pied.
Je vais pouvoir étudier ça. car en fait, si j'ai bien compris ta démarche, c'est de redéfinir les JTextField utilisés.

Merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Controler la saisie dans un jTextField [ par dub73 ] Bonjour.Je cherche à controler au moment de la frappe que le caractere saisie est bien numerique.je souhaiterais aussi pouvoir controler la longueur d JFileChooser [ par jpegg ] Bonsoir a tous,Je dois utiliser un JFileChooser pour creer un gestionaire de fichier de mon repertoire courant. Je cree un JFileChooser, mais j aimera saisie d'entier [ par babymate ] Comment récupère-t-on un entier saisi au clavier ?la vie c comme 1 boite de chocolat ... passage de tableau en client/serveur [ par titou445 ] bonjour,je souhaiterais avoir des infos concernants l'envoie d'un tableau d'entier d'un client à un serveur.Quel est la commande à employer pour envoy récupérer la valeur d'une jTextField dans une boucle [ par sanpexos ] Bonjour tout le mondePour prendre la valeur tapée dans la jTextField , je le fait avec jTextField1.getText();Je suis dans une bouc JTextField et JPasswordField [ par Polux6 ] J'aimerai savoir comment on limite le nombre de caractères dans un JTextField ou un JPasswordField.MerciPolux.6 JTextField [ par Polux6 ] Je n'arrive tjs pa à limiter le nbre de caractere dans un jtextfield malgré setColumns(int).Y'aurai t il un moyen pour le faire facilement ? MerciPolu Changement de ligne dans windows [ par Bashi ] Bonjour, je suis en train de faire un programme qui doit entrer des données dans un fichier txt sous windows et lorsque je fais un "\n" pour changer d EMail [ par Polux6 ] Salut tous le monde!J'aimerai savoir si c'est possible de faire lien pour pouvoir ouvrir par exemple outlook express ou une autre messagerie à partir positionner un JTextField [ par stickasia ] bonjourje voudrai savoir comment on fait pour positionner en bas un JTextField ds une classe qui extends d'un JPanel et non dans une fenetre je fais c


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,332 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales