Appeler Paint() de la class Pan2 depuis Pan1

AlexB13016 Messages postés 31 Date d'inscription lundi 29 décembre 2008 Statut Membre Dernière intervention 20 juin 2015 - Modifié par AlexB13016 le 20/06/2015 à 18:00
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 30 juin 2015 à 10:34
Salut tous le monde,

Voila j'explique , j'ai 2 JPanel Pan1 et Pan2 leurs Fonctions :

Pan1 : dans ce JPanel j'affiche une image(un Pack de texture) qui contient 735 mini image de 16px /16px, lorsque je clique sur l'une d'entre elle, celle ci est Sélectionné et envoyer dans Pan2 en procédant ainsi "Pan2.imageSelectionner = imageCourante;"

Pan2 : celui ci sert uniquement a assembler (ou plutot dessiner) une grande image de 32px/32px (donc 4 image de 16px). vous devinez que cette grande image est créer par notre petite image sélectionner dans Pan1.

Tout ce que je décris ci dessus marche très bien Sauf que dans Pan2 a l'écran j'ai "Image selectionner : " et une un rectangle vide ou dedans j'affiche mon image sélectionner juste avant dans Pan1.

Mon problème est quand je sélectionne mon Image dans Pan1 et que j'actualise la variable imageCourante de Pan2 je veut pouvoir appeler paint de Pan2 via Pan1 du genre "Pan2.paint();" sauf que je peut pas mettre paint en Static.

En gros je veut appeler Paint de Pan2 depuis Pan1.

Si vous voulez voir les codes sources demander moi, Merci d'avance pour votre aide

1 réponse

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
30 juin 2015 à 10:34
Salut,

à voir comment tu affiches ton image, mais en théorie tu n'es pas obliger de passer par la méthode paint(...), tu peux l'afficher via un JLabel par exemple...

Concernant tes panels, rien de plus simple... un petit peu d'orienté objet:

/**
  * Cette classe est responsable de l'affichage d'une image.
  */
public class Display extends JPanel{
    ....
}

/**
  * Cette classe est responsable de la sélection d'une image.
  */
public class Selector extends JPanel{
    private Display display;
    ...

    public Selector(Display d)
    {
          super();
          this.display = d;
          ...
     }
} 


--
0
Rejoignez-nous