AlexB13016
Messages postés31Date d'inscriptionlundi 29 décembre 2008StatutMembreDernière intervention20 juin 2015
-
Modifié par AlexB13016 le 20/06/2015 à 18:00
cormandyr
Messages postés600Date d'inscriptionsamedi 20 mai 2006StatutMembreDerniè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
cormandyr
Messages postés600Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention 8 juillet 201611 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;
...
}
}