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 :

Ajouter un JTextfield dans une JComboBox


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut Ajouter un JTextfield dans une JComboBox
    Bonsoir,

    voilà je cherche à ajouter un jtextfield dans une jcombobox de tel sorte à avoir

    le jtextfield sur la gauche et le nom de l'item sur la droite.

    Ce composant me sera utile pour pouvoir répondre à une question de type "réponses ordonnées" (réponses a classer)


    J'avais qques temps fait quasiment la meme chose mais avec une jcheckbox dans une jcombobox et ca marchait très bien, le fait de cliquer sur la checkbox la cochait ou la décochait (sans fermer la combo popup). J'ai donc repris la meme classe que j'avais faite mais ca n'a pas l'air de marcher avec un jtextfield.

    J'ai réussi à intégrer le jtextfield dans le combo popup sans probleme avec un jlabel a coté pour le nom de l'item mais c'est la saisie qui pose problème.

    Le fait de faire un clic gauche pour appeler le focus dans le jtextfield ferme la combo popup.

    J'ai ajouté un mouseListener sur mon textfield, le clique gauche ne passe pas dedans contrairement au clic droit.

    Qqqun aurait-il déja réalisé ce type de composant ?

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    Bon je réitère ma demande mais cette fois-ci avec une image :

    voici donc l'un des composant que j'ai réalisé il y a de cela qques temps (qui marche tres bien) :



    Désormais je voudrais ce genre de composant (qui ne marche pas):



    bon le click gauche sur le jtextfield passe a présent dans le mouse listener mais le focus ne veut pas y rentrer meme lorsque je fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textField.requestFocus()
    une idée ?

  3. #3
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    C'est juste qu'une JComboBox c'est pas franchement fait pour de l'édition.

    Tu ne peux pas utiliser une autre approche (genre un JPopupMenu avec une JTable dedasn ou ce genre de choses?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    Hummm

    Le but de ce type de combobox (qui est également le même que pour une combobox contenant des checkbox est pour moi d'économiser de la place sur mon interface graphique).

    Dans ce projet, un utilisateur peut créer un questionnaire puis ensuite réaliser sa saisie.

    Ce questionnaire comporte des questions de différents types et j'utilise une liste (combobox) lorsque que le nombre de réponses créées dépasse un certain nombre (que j'ai moi même fixé).

    En gros :

    -Question à choix unique : combobox basique.
    -Question à choix multiples : combobox avec checkbox.
    -Question à choix ordonnés : combobox avec champs de saisie (que j'essaye actuellement de faire marcher).

    L'idée d'un JPopupMenu contenant une jtable n'est donc pas vraiment adapté.
    Il faudrait que ce composant soit toujours visible et reste quand meme assez cohérent avec les autres composants histoire de ne pas trop désorienter l'utilisateur et qu'il ne se demande pas "comment l'utiliser ?"

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 64
    Par défaut
    Petit edit :

    En rajoutant un FocusListener, le focus rentre pourtant bien dans mon jtextfield mais je ne vois pas le caret et donc rien ne s'écrit dedans lorsque je tente une saisie.

    Le fait de faire un setText() marche par contre.

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bah ça vient du fait qu'à la base le contenu de la popup d'une JComboBox n'est vraiment pas prévu pour être éditer, c'est la même chose qu'une JList.

    http://www.jroller.com/santhosh/date/20050607

Discussions similaires

  1. Ajouter du texte dans une edit box
    Par raf_gug dans le forum MFC
    Réponses: 10
    Dernier message: 23/05/2013, 10h00
  2. [JTreeTable] JTextField dans une cellule
    Par seiryujay dans le forum Composants
    Réponses: 3
    Dernier message: 28/07/2005, 09h30
  3. Ajout de 'raccourcis' dans une fenêtre standard 'Ouvrir'
    Par Laurent Dardenne dans le forum Windows
    Réponses: 4
    Dernier message: 08/03/2005, 18h53
  4. Ajouter un champs dans une table (Access 2000)
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/10/2004, 13h02
  5. Réponses: 12
    Dernier message: 26/02/2003, 08h14

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