Help me image ....

Help me image .... - Java - Programmation

Marsh Posté le 21-11-2003 à 01:06:02    

j'ai un programme tout bete il compile marche mais par contre le bouton est inactif .  
 

Code :
  1. import java.awt.* ;
  2. import java.applet.* ;
  3. import java.awt.event.* ;
  4. import java.awt.image.* ;
  5. public class Visualiseur extends Applet {
  6. protected Panel p1, p10, p11, p12, p2, p3;
  7. protected Button bouton1, bouton2;
  8. protected Choice choix;
  9. protected TextArea texte;
  10. protected Image img;
  11. protected Delegue delegue;
  12. protected Adaptateur adapt;
  13. public void init() {
  14. setLayout(new BorderLayout()) ;
  15. //construction du panel 1 contenant les deux boutons et le choix
  16. p1=new Panel();p1.setLayout(new BorderLayout());
  17. p10=new Panel();
  18. choix=new Choice();
  19. choix.addItem("photo1" );
  20. choix.addItem("photo2" );
  21. choix.addItem("photo3" );
  22. p10.add(choix);
  23. p1.add("West", p10);
  24. p11=new Panel();
  25. bouton1 = new Button("voir" ); p11.add(bouton1);
  26. p1.add("Center", p11);
  27. p12=new Panel();
  28. bouton2 = new Button("commenter" ); p12.add(bouton2);
  29. p1.add("East", p12);
  30. add(p1, BorderLayout.NORTH);
  31. //construction du panel 2 contenant la photo  
  32. p2= new Panel();
  33. add(p2,BorderLayout.WEST );
  34. //construction du panel 3 contenant les commentaires de la photo
  35. p3= new Panel();
  36. texte= new TextArea();
  37. texte.setText("commentaire de la photo" ); p3.add(texte);
  38. add(p3,BorderLayout.SOUTH);
  39. delegue = new Delegue (this) ;
  40.       adapt = new Adaptateur (delegue) ;
  41. bouton1.addActionListener(adapt) ;
  42.  
  43. }
  44. String res = "photo1.jpg";
  45. public void paint(Graphics g) {
  46. img = getImage(getDocumentBase(), res);
  47. g.drawImage(img, 160, 60, this);
  48. }
  49. }
  50. class Delegue {
  51. protected Visualiseur ci ;
  52. Delegue(Visualiseur c) {
  53.  ci=c ;
  54.  }
  55. public void affiche(){
  56. String res=ci.choix.getSelectedItem()+".jpg";
  57. ci.repaint() ;
  58.  }
  59. }
  60. class Adaptateur implements ActionListener {
  61. protected Delegue delegue ;
  62. public Adaptateur(Delegue d) {
  63.  delegue=d ;
  64.  }
  65. public void actionPerformed(ActionEvent e) {
  66.  Object src=e.getSource() ;
  67.  String param = ((Button)src).getLabel() ;
  68.  if (param=="voir" ) delegue.affiche() ;
  69.  }
  70. }


 
en faite dans un Choice je dois selectionné une image et en cliquant sur le bouton voir ba elle s affiche ... mon prog me parait nikel mais malhreusement ca ne veut pas changer les images   . ??? kelk un pour m aidé.


Message édité par warmastercs le 21-11-2003 à 01:06:49

---------------
un sabre est une arme. le kenjutsu, une technique de mort. Peu importent les bonnes intentions, c'est la seul vérité. On tue pour protéger. On tue pour que d'autres vivent. C'est ca, la vérité du sabre.
Reply

Marsh Posté le 21-11-2003 à 01:06:02   

Reply

Marsh Posté le 21-11-2003 à 06:36:46    

WarmasterCS a écrit :

j'ai un programme tout bete il compile marche mais par contre le bouton est inactif .  
 

Code :
  1. class Adaptateur implements ActionListener {
  2. protected Delegue delegue ;
  3. public Adaptateur(Delegue d) {
  4.  delegue=d ;
  5.  }
  6. public void actionPerformed(ActionEvent e) {
  7.  Object src=e.getSource() ;
  8.  String param = ((Button)src).getLabel() ;
  9.  if (param=="voir" ) delegue.affiche() ;
  10.  }
  11. }


 
[...] mon prog me parait nikel


Ne jamais écrire qu'un programme parait nickel, surtout quand il ne marche pas. :) Surtout aussi quand il y a une énormité du style if (param == "voir" );. La méthode equals(Object o) ou equalsIgnoreCase(String s) sera plus adaptée.


---------------
Le site de ma maman
Reply

Marsh Posté le 21-11-2003 à 16:40:42    

et puis passe par l'actionCommand au lieux de passé par le label :o
 
getLabel c pas deprecated d ailleur ca :heink:
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed