ajouter un champs de controle - Java - Programmation
Marsh Posté le 16-06-2010 à 10:38:22
bonjour,
merci de me reponder
oui j'ai bien ajouté le listener:
Code :
|
mais moi j'ai plusque une bouton peut etre la faute dans la fonction actionperformed??
Code :
|
la bouton s fonction tres bien!!!
merci de m'aider
Marsh Posté le 16-06-2010 à 10:41:50
Tu bluffes Martoni, ton truc peut meme pas compiler. J'suppose que t'as "enlevé" des trucs du listener pour pas tout montrer, mais vaudrait mieux que tu mettes tout en fait.
Marsh Posté le 16-06-2010 à 11:57:25
Code :
|
dsl c un peu long!!
Marsh Posté le 16-06-2010 à 11:59:15
JButton q=new JButton("test" );
JButton s=new JButton("save" );
Tu en recrées de nouveaux alors qu'il faut utiliser les membres de ta classe !!
Et puis le nom de tes variables... Tu vas faire tout l'alphabet ?
Marsh Posté le 16-06-2010 à 12:16:10
Pas mieux pour les boutons, c'est exactement le problème.
Le second problème étant que je maitiens que la syntaxe est fausse dans la méthode actionPerformed et que je me demande comment ca peut compiler. Il manque visiblement des accolades après "if (evt.getSource() == s) ", du coup le "else" un peu plus loin ne correspond à rien et le compilo devrait raler. Et ce manque d'accolades est aussi ce qui fait que le bouton s "marchait" avant: en fait le "if (evt.getSource() == s)" renvoyait faux, mais comme il ne porte que sur l'instruction suivante (car pas d'accolades), le reste du code est toujours exécuté peu importe la source.
Bref ya des trucs à revoir...
Marsh Posté le 16-06-2010 à 12:40:53
merci pour vos reponse,mais dsl j'ai pas pu me corriger!!!
veuillez m'expliquer
Marsh Posté le 16-06-2010 à 12:49:56
Déjà mets des noms de variables explicites ! J'espère que personne ne reprendra ton code car si je reprenais un code comme ça je fous tout à la poubelle. A la place de "q" par exemple mets "boutonTest" ou quelque chose de ce style.
Ensuite à la place de :
JButton q=new JButton("test" );
JButton s=new JButton("save" );
remplace par :
q=new JButton("test" );
s=new JButton("save" );
Et comme l'a dit lasnoufle rajoute les accolades pour le if et le else de l'ActionPerformed.
Marsh Posté le 16-06-2010 à 13:04:12
j'ai ajouté les accolades et j'ai changé les nom du bouton et la fonction est devenu:
Code :
|
mais lorsque je clique sur la bouton test mon frame se plante !!!!
Marsh Posté le 16-06-2010 à 13:17:31
Est-ce que tu vois le "dddddddddddddd" apparaitre dans la console? Si oui c'est probablement ta fonction test() qui plante. Quand tu dis plante, ca serait pas "freeze" plutot? Parce que ca, dans ta fonction de test, c'est une belle boucle infinie (j'me suis permis de changer l'indentation pour que ca soit plus lisible:
|
Parce que dès que tu tombes sur un st qui n'est pas égal à "name" et qui a au moins un token, la condition de la boucle est vraie mais tu ne fais rien dans la boucle, donc boucle infinie.
Marsh Posté le 16-06-2010 à 15:01:34
merci vraiment de m'aider
j'ai changé ma fonction
Code :
|
et"ddddddddd" je l'ai utilisé pour verifier si la bouton fonctionne ou pas
bon ca va ts va bien mais la fonction teste ne fonctionne pas cad lorsque jai fais taper un nom deja enregistrer dans le fichier j'avais pas le message" d.setText("le nom existe deja" )";dans le textfield
Marsh Posté le 16-06-2010 à 15:34:27
Ben écoutes, j'me suis jamais servi du tokenizer mais ca m'a l'air d'un bete parcours de collection, donc ton algo a juste l'air mauvais en fait. T'as pas résolu le problème en mettant le break; ou tu l'as mis, tout ce que tu fais c'est breaker la boucle si le premier token ne vaut pas "host_name".
Après je sais pas exactement ce que tu veux faire donc dur de te dire ce qui va pas, intuitivement je dirais que c'est un truc comme ca qu'il te faut:
while(st.hasMoreTokens()) { |
Maintenant, sans etre méchant, à ce niveau là c'est les bases de l'algorithmie qu'il faut revoir... Si c'est un truc que tu fais vite fait pour dépanner au boulot et que c'est pas ton métier y'a pas de soucis, par contre si c'est un TP d'étudiant et que tu comptes/dois faire du développement à un moment dans ta future carrière, fais l'effort maintenant, ca te sauvera la vie.
Marsh Posté le 16-06-2010 à 15:38:00
Déjà ça : st.equals("host_name" ) ça ne veut rien dire. st est un StringTokenizer et pas un String. Il faut comparer le string que tu récupères avec nextToken().
Marsh Posté le 16-06-2010 à 15:55:40
merci pour vous de m'aider mais ca va j'ai bien resoulu mon probleme:
Code :
|
Marsh Posté le 16-06-2010 à 15:58:19
Ton code peut partir en sucette car tu fais 2 nextToken sans vérifier qu'il y en ait au moins 2.
Marsh Posté le 16-06-2010 à 01:05:22
bonsoir,
j'ai dans une frame deux JTextfield ou leur données seront enregistrer dans un fichier texte, je veux ajouter pour ses deux champs un controle ,le 1er champs porte le nom et le 2eme porte l'addresse ,j'ai ajouté pres de chaque JTextfield une bouton("test" ) qui verifie à chaque fois si le nouveau nom saisi existe deja ou nom mm chose pour l'addresse,mon fichier ne contient pas des données dupliquées,j'ai realisé une fonction qui parcourir le fichier à chaque clique sur la boutton "test" et vider le champs si le nom deja existe :
et j'ai ajouté la fonction:
mais ca ne fonctionne pas
pouvez_vous m'aider à le corriger!!
merci
JButton q=new JButton("test" );