Partage
  • Partager sur Facebook
  • Partager sur Twitter

getSource() et autres joyeuseries.... (SWING)

où comment ramer dans du sable

Sujet résolu
    12 avril 2017 à 16:40:39

    Bonjour a tous! je galère un peu avec un projet en JAVA que je fais sur swing.

    en gros j'ai un gridLayout  qui contient des  object FORME ... ces formes une fois créées affichent une ...forme! rouge vert ou bleu dans la fenetre.

    je les crée et y ajoute un MouseListener. Mais lorsque je veux récupérer les attributs de forme avec getSOurce() et autres... et bien ça m'envoit paître.

    for (int i=0;i<10;i++){
    	    for (int j=0;j<15;j++){
    		valeur=tab[i][j];
    		Forme gemme= new Forme(valeur,i,j);
    		windows.add(gemme); /* windows est mon JFrame */
    		gemme.addMouseListener(mouse);
    	    }
    	}


    et c'est avec MouseListener que je veux récuperer "valeurs, i et j" d'après la méthode mouseEntered.

    @Override
    public void mouseEntered(MouseEvent e){  /* survole entrée */
    	Forme f = e.getSource();
    	System.out.println(f.getCoulor());
        }



    et dans la classe Forme j'ai trois méthode :

    public char getCoulor(){
    	return this.couleur;
    }
    public int getCoodI(){
    	return this.i;
    }
    public int getCoodJ(){
    	return this.j;
    }



    -
    Edité par Creirwy Bobd 12 avril 2017 à 16:41:42

    • Partager sur Facebook
    • Partager sur Twitter
      12 avril 2017 à 17:05:39

      Salut. Il va falloir faire un cast

      Forme f = (Forme)e.getSource();

      • Partager sur Facebook
      • Partager sur Twitter
        12 avril 2017 à 18:13:31

        Ta méthode getSource() renvoie une référence de type Object, ce qui est logique car la classe MouseEvent est "générique" dans le sens où celui qui l'a conçu n'est pas sensé savoir quel est le type réel retourné  lorsqu'on a appelle la méthode getSource() (toi tu as un objet de type Forme mais un autre programmeur aura sa propre classe qui fournira un type différent). A toi donc de t'occuper du casting.

        • Partager sur Facebook
        • Partager sur Twitter
          12 avril 2017 à 21:15:23

          merci merci!!!! j'ai passé la journée a planché dessus et j'étais partie sur un rituel vodoo!!

          plein de bisous à vous x)

          • Partager sur Facebook
          • Partager sur Twitter
            13 avril 2017 à 11:05:32

            Creirwy Bobd a écrit:

            merci merci!!!! j'ai passé la journée a planché dessus et j'étais partie sur un rituel vodoo!!

            plein de bisous à vous x)


            Lol. Tu n'utilises pas d'IDE? En général il peut te faire des suggestions sur comment résoudre ce genre d'erreurs.
            • Partager sur Facebook
            • Partager sur Twitter
              20 avril 2017 à 21:28:02

              j'utilise emacs sur unix ou notepade++ et le cmd pour compiler si je suis sur windows, je fuis eclipse et ce qui s'en approche...
              • Partager sur Facebook
              • Partager sur Twitter

              getSource() et autres joyeuseries.... (SWING)

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown