begin process at 2010 02 10 05:57:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

Focus sur JComboBox


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

Focus sur JComboBox

mardi 21 décembre 2004 à 12:14:02 | Focus sur JComboBox

Pimousse77

Bonjour à tous,

je me permet de requérir votre aide car je suis tombé sur un os !
Je suis en train de travailler sur un JTable dans lequel j'ai mis des JComboBox, et il se trouve que pour l'instant lorsque l'on n'édite pas les cellules, qu'on est simplement en mode sélection, si l'on appuie sur une touche alphanumérique du clavier, on passe directement en mode édition.

Alors pour les champs "classiques" de type JTextField, il n'y a pas de problème, si on appuie sur une touche alpha numérique, la cellule passe automatiquement en mode édition et la lettre appuyée est saisie dans le JTextField. En revanche, pour les ComboBox, on passe bien en mode édition, mais la lettre tapée n'est pas saisie. Du coup quand on tape vite, il manque toujours la première lettre de chaque mot.

Quelqu'un a t'il une idée de la manière de résoudre celà ?
Je ne sais vraiment plus quoi faire.

Merci d'avance,


Thibaut
mardi 21 décembre 2004 à 16:03:40 | Re : Focus sur JComboBox

Madvin

Salut,

tu pourrais peut-être essayer de gérer ça de la façon suivante :

Lorsqu'un Combo n'a pas le focus et qu'une touche du clavier est appuyée, tu récupères l'événement (KeyPressed() dans KeyListener) et tu lui fais appeler une méthode donnerFocusCombo(JComboBob combo,char carac) qui insère le charactère carac dans la combo et qui lui donne le focus(paramètres : combo la JComboBox qui doit prendre le focus, et carac le caractère correspondant à la touche qui a été appuyée).

Voici un petit bout de code pour être plus explicite :

Dans le KeyListener de l'objet à partir duquel tu veux accéder à une combobox. (apparemment chez toi c'est à partir d'une cellule de la JTable) :

public void keyPressed(KeyEvent e)
{
....
....//combo est la JComboBox devant prendre le focus.
....
donnerFocusCombo(combo,e.getKeyChar());
}



Et voici une implémentation de la méthode donnerFocusCombo() :

public void donnerFocusCombo(JComboBox c,char carac)
{
ComboBoxEditor editor = c.getEditor();
Object obj = editor.getItem();

if (obj.getClass().equals(String.class))
{
String str = (String)obj;
str+=carac;
editor.setItem(str);
}

c.requestFocus();

}


A toi de modifier cette méthode en fonction de ce que tu veux comme comportement, mais je t'ai indiqué en gros la marche à suivre.

Voilà la méthode que je te propose. Si ça te convient...

@++
mercredi 22 décembre 2004 à 10:45:25 | Re : Focus sur JComboBox

Pimousse77

Ta réponse correspond à peu près à ce que j'avais l'intention de faire, seulement tu as oublié une donnée sur laquelle je n'ai pas assez appuyé : je ne veux commencer la saisie dans la cellule QUE si la touche du clavier pressée est une touche alphanumérique !!

Et c'est là que se pose mon problème, comment savoir si la touche appuyée correspond à un caractère alphanumérique ??
mercredi 22 décembre 2004 à 13:19:28 | Re : Focus sur JComboBox

Madvin

Ci-fait :



public void keyPressed(KeyEvent e)
{
if (Character.isLetterOrDigit(e.getKeyChar()))
donnerFocusCombo(combo,e.getKeyChar());
}


Voilà.

@++
mercredi 22 décembre 2004 à 14:44:40 | Re : Focus sur JComboBox

Pimousse77

Réponse acceptée !
En, fait j'ai fait comme ça parcequ'il faut aussi que ça marche pour des ^$*%ù!:@ :

String.valueOf(ke.getKeyChar()).matches("\\p{Graph}")

En tout cas merci à toi de m'avoir répondu si rapidement c'est super sympa.


Cette discussion est classée dans : passe, lettre, jcombobox, mode, édition


Répondre à ce message

Sujets en rapport avec ce message

liste de mots dans le Jcombobox [ par moooonaaaa ] Bonjour, je suis débutante en java. Je suis entrain de faire une application en java en utilisant eclipse.J'ai un Jcombobox qui contient des noms de Perdre le focus dans une JTable [ par asari29 ] Bonjour à tous, Je tente d'apprivoiser les JTable dans l'API Swing et rencontre quelques problèmes... J'ai hérité d'un projet java qui s'interface calendrier dans la selection d'une jcombobox [ par bamoune ] Slam alikom[^^happy13] je cherche un code source pour afficher une jcombobox dont sa sélection sera un calendrier dans on peut choisir une date pour Besoin d'une classe java qui permet d'extraire un mot d'un fichier texte [ par csalsabil ] slt J'ai un fichier texte de la forme suivante: Agence Nationale de Certification Electronique Addresse: Parc Technologique El Ghazala, Route de Rao Ouvrir une base des données MySQL en utilisant jpasswordfield en JAVA [ par Manyanya ] Salut, J'utilise MySQL comme base des données. Dans sa gestion, j'ai défini des utilisateurs avec naturellment leur login et password respectifs. De Connection à MySQL avec un mot de passe en Java [ par Manyanya ] Bonjour, Je fais une application dans laquelle la base des données utilisées doit être MySQL. Je fais une classe d'authentification dans laquelle on Jcombobox et date [ par Damocless123 ] j'explique... j'ai un jcombobox avec les date de début de semaine de toute l'année... ce que j'aimerais c'est de vérifier la date que nous sommes auj Suppression de lettre dans un String -[Java]- [ par sarahjtm ] Bonjour, Je vous présente mon problème : dans mon code source je trouve la donnée d'une clef registre : Ensuite je fais System.out.println(path); et j JComboBox tester l'existance d'un élément [ par stigmate101 ] BonjourComment dans une JComboBox tester l'existance d'un élémentMerci Résolution de l'écran [ par Skyffer3 ] Bonjour,j'aimerais changer la résolution de mon écran lorsque je fais tourner une application.J'ai donc implémenter ce code :        GraphicsDevice de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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

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