begin process at 2010 03 20 19:26:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Divers

 > 

textListener


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

textListener

mardi 22 février 2005 à 11:17:32 | textListener

nataS22

Comment utiliser un textListenner avec un JIntegerField :

merci.

nataS  
mardi 22 février 2005 à 14:23:09 | Re : textListener

nataS22

Voici en quoi consiste le JIntegerField :

import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;

import javax.swing.JTextField;
import javax.swing.text.*;

public class JIntegerField extends JTextField implements FocusListener{
   
    private int tailleMax = 2;
    private int valMax = 99;
    private int valMin = 0;
   
    /**Constructeur avec nombre de colonne*/
    public JIntegerField ( int nbColonne ) {
        super ( nbColonne );
       
        this.addFocusListener( this );
       
    }

    /**Constructeur avec nombre de colonne*/
    public JIntegerField ( int nbColonne, int taille, int max, int min ) {
        super ( nbColonne );
       
        tailleMax = taille;
        valMax = max;
        valMin = min;

        this.addFocusListener( this );
    }

    /**Constructeur avec initialisation du texte et longueure du champ */
    public JIntegerField( int valeur, int taille, String aide, String enabled ) {
        super ( String.valueOf ( valeur ), taille);
        setToolTipText ( aide );
       
        if ( enabled.equals ( "true" )){
            setEnabled ( true );
        }
        else if ( enabled.equals ( "false" )){
            setEnabled ( false );
        }

        this.addFocusListener( this );

    }

    /**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 );
    }
   
    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 uneString, AttributeSet a ) throws BadLocationException {
   
            if ( uneString == null ) {
                return;
            }
       
            char[] upper = uneString.toCharArray();
            String tempo = "";

            for (int i = 0; i < upper.length; i++) {

                if ( i < tailleMax ){
                    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 + "";
                    }
                }
                else
                    tempo = tempo + "";
                   
            }
       
            super.insertString(offs, tempo, a);
        }
    }
    /* (non-Javadoc)
     * @see java.awt.event.FocusListener#focusGained(java.awt.event.FocusEvent)
     */
    public void focusGained(FocusEvent e) {
        // TODO Auto-generated method stub
       
    }

    /* (non-Javadoc)
     * @see java.awt.event.FocusListener#focusLost(java.awt.event.FocusEvent)
     */
    public void focusLost(FocusEvent e) {
        if ( this.getInt()  > valMax )
            this.setInt ( valMax );
        else if ( this.getInt ()  < valMin )
            this.setInt ( valMin );
    };
}

C'est une classe qui permet de ne saisir que des chiffres et qui me permet de limitter la valeur max et min.

Merci de me donner un coup de main pour ajouter le textListenner qui me permettrai de faire changer une case à cocher dans le cas où la valeur de mon JIntegerField serait modifiée.


nataS  


Cette discussion est classée dans : textlistener


Répondre à ce message

Sujets en rapport avec ce message

Méthode AddTextListener [ par Ruddy974 ] Bonjour,La méthode AddTextListener n'est pas accessible à partir de n'importe quel composant qui hérite de la Class JTextComponent, bien que la Class TextListener en J2ME [ par senghorcoly ] slt j'aimerais savoir comment uitliser la class TextListener en J2ME ou ya t'il une equivalence TextListener en J2ME?


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,562 sec (4)

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