Interactions graphique?

wakarl_marx Messages postés 4 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 17 avril 2005 - 4 avril 2005 à 16:52
wakarl_marx Messages postés 4 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 17 avril 2005 - 4 avril 2005 à 18:07
bonjour a tous
voila j'ai un probleme sur mon sujet de stage et je commence a desesperer.
j'essaie de creer un objet en fonctions de clics dans un JPanel ( un pieton et sa destination, les deux font partie d'une classe monPieton).
Mon pieton est crée avec les clics mais impossible de le recuperer autre part.(en fait je ne sait pas comment faire...).
Je ne sait pas si je suis comprhensible, je peux essayer de reformuler ma question si ca ne va pas.
merci d'avance si vous avez la solution.
bonne journee
waka

2 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
4 avril 2005 à 17:28
Salut,

désolé mais j'ai pas compris. Peux tu reformuler et mettre des exemples de code au besoin ?
0
wakarl_marx Messages postés 4 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 17 avril 2005
4 avril 2005 à 18:07
en fait je ne sait pas si ca va etre plus clair mais mon application devrais fonctionner comme ca:
l'objectif est de simuler le deplacement d'un point (un pieton) de A vers B.
un objet monPieton contient le point de depart, la destination et le vecteur directeur calculé en fonction.

pour creer un Objet monPieton, je clique dans un JPanel et je recupere les coordonnees des clics. Du coup je clique une fois pour creer un point Depart et un seconde fois pour creer un point Arrivee et en meme temps creer un Objet monPieton.
l'objet est normalement crée (j'ai la confirmation dans la console) dans ma classe "ecouteClic" mais je ne sait pas comment le recuperer dans mon JPanel.
voici des morceaux de code correspondant:


class maFen extends JFrame
{
private monPaneau pan;
private JButton monBout;


public maFen (monPieton Piet)
{
setTitle("essai");
setSize (500,500);
Container contenu= getContentPane();
pan = new monPaneau(Piet);
contenu.add(pan, BorderLayout.CENTER);
monBout = new JButton ("Go!");
monBout.addActionListener(new LanceAnime(pan,Piet));
contenu.add(monBout,BorderLayout.NORTH);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}

-------------------------------------------------------------------
class monPaneau extends JPanel
{
private monPieton Piet;


public monPaneau (monPieton Piet)
{
this.Piet=Piet;
addMouseListener (new ecouteClic(Piet,this)); **j'envoie un objet monPieton et du coup
} **il devrais etre modifiable non?


public void paintComponent (Graphics g)
{
super.paintComponent(g);
if (Piet != null)
{
System.out.println(Piet);
g.setColor(Color.red); //preview of the pedestrian.
g.fillOval (ToInt(Piet.getDep().getX()),ToInt(Piet.getDep().getY()),30,30);
g.setColor(Color.black);
g.drawRect(ToInt(Piet.getDest().getX()),ToInt(Piet.getDest().getY()),15,15);
}
else
{ Piet= ecouteClic.retournePiet();}
}

---------------------------------------------------------------------------
class ecouteClic extends MouseAdapter
{
public monPieton Piet;
private monPaneau pan;
private Point depart;
private Point arive;
private boolean create=true;


public ecouteClic (monPieton Piet, monPaneau pan)
{
this.pan=pan;
this.Piet=Piet; **les 2 pointent sur le meme objet donc si j'en modifie un, ca
depart=new Point(); **modifierais l'autre non?
arive=new Point();
}
public void mouseClicked (MouseEvent e)
{
if (create)
{
depart.setLocation(new Point(e.getX() , e.getY()));
Graphics g = pan.getGraphics();
g.setColor(Color.red);
g.fillOval (e.getX(),e.getY(),30,30);
create=false;


}
else
{
arive.setLocation(new Point(e.getX() , e.getY()));
Graphics g= pan.getGraphics();
g.setColor(Color.black);
g.drawRect(e.getX(),e.getY(),15,15);
//monPieton P=new monPieton(depart,arive);
//P.putStats();
System.out.println (depart+"\n"+arive);
Piet=new monPieton(depart,arive);
Piet.putStats();
}
}

voila voila j'espere que c'est un peu plus clair maintenant (j'en doute mais j'fais de mon mieux)
En fait j'ai des grosses lacunes en matiere de graphisme et ca fait quelques semaines seulement que je decouvre le merveilleux monde des Jmachins...
merci d'avance.
waka
0
Rejoignez-nous