Lier la sélection d'une liste dans une classe à une autre classe.

Lier la sélection d'une liste dans une classe à une autre classe. - Java - Programmation

Marsh Posté le 15-06-2013 à 13:38:21    

Bonjour !
 
Voilà, je dois terminer un algorithme d'IHM en java, assez complexe. Seulement, voilà : Dans une de mes classes, j'ai conçu une liste de sélections. Et dans une autre, je dois agir EN FONCTION de ce qui est sélectionné dans cette liste. Et... Je bloque. Pas moyen de trouver une réponse potable.
 
Pour vous aider, je vous transfère le code de la liste :
 
 
 

Code :
  1. // CommandeVisu.java
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.awt.Graphics;
  5. public class CommandeVisu extends Panel implements ItemListener
  6. {
  7. private List l;
  8. private Visu visu;
  9.   public CommandeVisu(Visu visu)
  10. {
  11.     this.visu=visu;
  12.  setLayout(new BorderLayout());
  13.  //On crée la liste des choix
  14.  l = new List();
  15.  l.add("CERCLE" );
  16.  l.add("COURBE" );
  17.  l.add("COURBEX2" );
  18.  l.add("SURFACE" );
  19.  l.add("MIROIR" );
  20.  l.addItemListener(this);
  21.  //Pas de sélection multiple possible
  22.  l.setMultipleMode(false);
  23.  l.select(0);
  24.  //l.addActionListener(this);
  25.  add(l);
  26.  setVisible(true);
  27.   }
  28. public void itemStateChanged(ItemEvent e)
  29. {
  30.  if (e.getSource()==l)
  31.  {
  32.   l.getSelectedItems();
  33.  }
  34. }
  35. }


 
 
 
Et le code de la classe qui doit se servir de cette liste :
 
 

Code :
  1. import java.awt.*;
  2. public class Visu extends Canvas
  3. {
  4. private TP tp;
  5. private CommandeVisu cm;
  6.   public Visu()
  7. {
  8.     setSize(250, 150);
  9.   this.tp=tp;
  10.   this.cm=cm;
  11.   }
  12.   public void setValeur(int valCourante)
  13. {
  14. }
  15.   public void paint(Graphics g)
  16. {
  17.  g.drawString("Visu", 20, 20);
  18.  /*if(cm.getSelectedObjects()=="CERCLE" )
  19.  {
  20.   //On dessine un premier cercle de taille maximale
  21.   g.fillOval(50,50,100,100);
  22.    
  23.   //On trace un second cercle dont la taille correspond a la valeur
  24.   g.setColor(tp.panelCouleur.add(pPremierPlan));
  25.   g.drawOval(50, 50,setValeur(valCourante),setValeur(valCourante));
  26.  }*/
  27.   }
  28. }


 
 
 
Voilà. La toute dernière partie entre /* et */ est celle que je voudrais obtenir (dessiner deux cercles lorsque "CERCLE" est sélectionné dans la liste).
Si vous pouviez me donner une indication simple et claire, ça m'arrangerait beaucoup.
 
Merci d'avance ! ^^

Reply

Marsh Posté le 15-06-2013 à 13:38:21   

Reply

Sujets relatifs:

Leave a Replay

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