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

Composants Java Discussion :

[JComboBox]comment recuperer le JTextField


Sujet :

Composants Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 71
    Par défaut [JComboBox]comment recuperer le JTextField
    bonjour à tous.
    J'ai des JComboBox editable.

    J'ai aussi ecris des methodes qui remplace du text dans un JTextField et qui selectionnent des endroit donné (setSelectionStart)

    J'aimerai savoir comment récuperer le JTextField du JComboBox.

    J'ai tenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((JTextField) MonComboBox.getEditor().getEditorComponent());
    mais ca ne fonctionne pas, enfin ca ne selectionne rien


    voici ma methode.
    Elle recupere un JTextField et son keyEvent et autocomplete ou corrige la date de naissance.

    si l'user tappe :
    6983 ou 06/09/1983 ou 6/9/1983 ou .... ca remplace/complete(à la saisie) et affiche au final 06/09/1983
    J'ai rien trouvé qui me convenais à 100% alors j'ai programmer cette fonction. J'avais en premier un JFormatedTextField, mais le code etait ET plus long, Et moins fonctionnel.
    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
    29
    30
    31
    32
    33
    34
     
    public static void dateNaissanceCompletion(JTextField a, java.awt.event.KeyEvent e){//si le premier chiffre tappé est >2 alors on rajoute 0 devant, puis le chiffre puis /
            if((a.getText().length()==1)&&(e.getKeyCode()>99)&&(e.getKeyCode()<106)){
                a.setText("0"+e.getKeyChar()+"/");
                a.setSelectionStart(3);
            }
            //pareil pour la deuxieme partie
            else if((a.getText().length()==4)&&(e.getKeyCode()>97)&&(e.getKeyCode()<106)){
                a.setText(a.getText().substring(0,3)+ "0"+e.getKeyChar()+"/");
                a.setSelectionStart(6);
            }
            //maintenant on supprime les / si l'user les tappes alors qu'elles existent
            else if (((a.getText().length()==4)||(a.getText().length()==7))&&(e.getKeyCode()==111)){
                a.setText(a.getText().substring(0,a.getText().length()-1));
                a.setSelectionStart(a.getText().length());
            }
            //si le prochain chiffre est un 0  alors on est née en 200X
            else if((a.getText().length()==7)&&(e.getKeyCode()==96)){
                a.setText(a.getText().substring(0,6) + "20" + e.getKeyChar());
                a.setSelectionStart(9);
            }
            //sinon 19XX
            else if((a.getText().length()==7)&&(e.getKeyCode()!=98)&&(e.getKeyCode()!=8)&&(e.getKeyCode()!=97)){
                a.setText(a.getText().substring(0,6)+ "19"+e.getKeyChar());
                a.setSelectionStart(9);
            }
            //maintenant on rajoute les / pour eviter de les tapper
            else if (((a.getText().length()==2)||(a.getText().length()==5))&&(e.getKeyCode()!=8)){
                a.setText(a.getText()+"/");
                a.setSelectionStart(a.getText().length());
            }
    //si la date dépasse les 10 char, on efface le dernier 
    else if (a.getText().length()==11)
                a.setText(a.getText().substring(0,10));
    ca fonctionnais tres bien, mais j'ai par la suite transformer mon JTextField en JComboBox et depuis bah ca ne fonctionne pas

    Mon code est déjà assez gore, je vais pas devoir faire des JCombobox NON editable qui se cacheront et des JTextField qui s'afficheront si on veux modifier les date .... (solution que j'envisage de plus en plus ! )

    [ Sujet déplacé depuis le forum java par Viena ]
    Les Règles du Forum

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monJComboBox.getSelectedItem();
    Si c'est pour récuperer le texte entré dans ton JCombo, c'est cette methode...
    Mais pour info, le champ de saisie d'un JComboBox n'est pas un JTextField, qui lui, est un autre composant swing...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 71
    Par défaut
    mais ya t'il une possibilité de selectionné juste une partie du texte dans la JComboBox ?

  4. #4
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Par défaut
    Oui, mais en codant toi-même le post-traitement sur ta String, après l'avoir récupéré avec la méthode donné par Régis...

    C'est d'autant plus vrai que tu peux mettre des listeners sur les actions que l'utilisateur va faire sur le textfield éditable de ton JComboBox...

Discussions similaires

  1. comment recupere de valeur de saisie dans jtextfield
    Par kanebody dans le forum Composants
    Réponses: 1
    Dernier message: 12/02/2009, 16h10
  2. comment recuperer le contenu de JTextField
    Par dimainfo dans le forum Composants
    Réponses: 1
    Dernier message: 26/07/2007, 16h39
  3. Réponses: 2
    Dernier message: 19/01/2004, 12h19
  4. comment recuperer le nom des champs ?????
    Par e11137 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/01/2004, 10h00
  5. comment recuperer une variable dans flash
    Par krépuscul dans le forum Flash
    Réponses: 30
    Dernier message: 16/10/2003, 09h40

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