Votre question

La method implementant CaretListener ne repond pas?

Tags :
  • element
  • Programmation
Dernière réponse : dans Programmation
7 Décembre 2010 13:41:01

Bonjour tout le monde,
dans mon programme j'ai écrit deux méthode qui implémente CaretListener, le blm qui se pose c'est que si je lé appelle dans une autre methode c'est la dernière à être appeler qui fonctionne. Et moi je voudrai que les deux fonctionnent dans la même methode. SVP venez à mon secours. :bounce: 


Code:
  1. public JTextField getComposanteUrlParame(){
  2.  
  3.  
  4. return (JTextField) composante.get((composante.size()-3));
  5.  
  6. }
  7.  
  8. public JTextField getComposanteMotparame(){
  9. return (JTextField)composante.get((composante.size()-3));
  10. }
  11.  
  12. public void ajouterMotParametMot(){
  13.  
  14. composante.add(new JTextField(""));
  15. composante.add(new JTextField(""));
  16. composante.add(new JLabel("%"));
  17.  
  18. positionY = positionY +40 ;
  19.  
  20.  
  21. int i= composante.size()-3;
  22.  
  23. composante.get(i).setBounds(w+w-80, positionY, w-180, 25);
  24. composante.get(i+1).setBounds(w+w+w-160, positionY,w-290, 25);
  25. composante.get(i+2).setBounds(w+w+w-120, positionY, 20, 25);
  26.  
  27. panel1.add(composante.get(i));
  28. panel1.add(composante.get(i+1));
  29. panel1.add(composante.get(i+2));
  30.  
  31.  
  32. getComposanteMotparame().addCaretListener(new CaretListener(){
  33.  
  34. public void caretUpdate(CaretEvent a) {
  35. // TODO Auto-generated method stub
  36. if(a.getSource()==getComposanteMotparame())
  37. ajouterMotParametMot();
  38. }
  39. });
  40.  
  41. panel1.repaint();
  42. this.repaint();
  43. }
  44.  
  45.  
  46. public void ajouterUrlParamUrl(){
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53. composante.add(new JTextField("http://www."));
  54. composante.add(new JTextField());
  55. composante.add(new JLabel("%"));
  56.  
  57.  
  58.  
  59. positionY = positionY +40 ;
  60.  
  61.  
  62. i= composante.size()-3;
  63.  
  64.  
  65.  
  66.  
  67. composante.get(i).setBounds(x-20, positionY, w, 25);
  68. composante.get(i+1).setBounds(x+w+60, positionY,w-290, 25);
  69. composante.get(i+2).setBounds(x+x+w+70, positionY, 20, 25);
  70.  
  71.  
  72. panel1.add(composante.get(i));
  73. panel1.add(composante.get(i+1));
  74. panel1.add(composante.get(i+2));
  75.  
  76. System.out.println("mamere "+ getComposanteUrlParame().getText());
  77. getComposanteUrlParame().addCaretListener(new CaretListener(){
  78.  
  79. public void caretUpdate(CaretEvent a) {
  80. // TODO Auto-generated method stub
  81. if(a.getSource()==getComposanteUrlParame()){
  82. ajouterUrlParamUrl();
  83. }
  84. }
  85.  
  86. });
  87.  
  88. panel1.repaint();
  89. this.repaint();
  90.  
  91.  
  92. }
  93.  
  94. public void PlusmotPlusUrl(){
  95.  
  96.  
  97. composante.add(textUrl);
  98. composante.add(textParametreurl);
  99. composante.add(labelPoucentageurl);
  100. composante.add(textMotCles);
  101. composante.add(textParametremot);
  102. composante.add(labelPoucentagemot);
  103.  
  104. composante.get(i).setBounds(x-20, y, w, h);
  105. composante.get(i+1).setBounds(x+w+60, y,w-290, h);
  106. composante.get(i+2).setBounds(x+x+w+70, y, 20, h);
  107. composante.get(i+3).setBounds(w+w-80, y, w-180, h);
  108. composante.get(i+4).setBounds(w+w+w-160, y, w-290, h);
  109. composante.get(i+5).setBounds(w+w+w-120, y, 20, h);
  110.  
  111. this.panel1.add(composante.get(i));
  112. this.panel1.add(composante.get(i+1));
  113. this.panel1.add(composante.get(i+2));
  114. this.panel1.add(composante.get(i+3));
  115. this.panel1.add(composante.get(i+4));
  116. this.panel1.add(composante.get(i+5));
  117.  
  118.  
  119. ajouterUrlParamUrl();
  120. positionY = 10;
  121. ajouterMotParametMot();
  122.  
  123.  
  124.  
  125. panel1.repaint();
  126. this.repaint();
  127. }

Autres pages sur : method implementant caretlistener repond

a c 232 L Programmation
7 Décembre 2010 14:05:28

Salut,

C'est normal que ton getComposanteUrlParame() et ton getComposanteMotparame() retournent le même élément ?
Parce que du coup tu mets tes CaretListener sur le même élément.
m
0
l
7 Décembre 2010 20:26:54

Merci, c vrai kils retounent les memes éléments mais des objets différents aprés modification:

public JTextField getComposanteUrlParame(){

return (JTextField) composante.get((composante.size()-6));

}

public JTextField getComposanteMotparame(){
return (JTextField)composante.get((composante.size()-3));
Est ce que le CaretListener prend en compte des ojets ou des éléments?
le programme réagi de la meme maniere aprés les modifications
m
0
l
a c 232 L Programmation
7 Décembre 2010 23:54:04

Normalement tu dois être limité à un CaretListener par objet (enfin j'imagine...)

Et tu peux pas plus simplement faire textParametreUrl.addCaretListener et textParametreMot.addCaretListener, plutôt que de t'embêter avec des -3 et -6 qui ne correspondent à rien ?
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS