Ajouter a un gridlayout une image

cs_bidules Messages postés 48 Date d'inscription samedi 31 mars 2001 Statut Membre Dernière intervention 11 avril 2004 - 4 août 2002 à 19:04
willowman Messages postés 143 Date d'inscription vendredi 5 juillet 2002 Statut Membre Dernière intervention 18 mars 2006 - 6 août 2002 à 18:21
bonjour,
Comment fait on pour ajouter une image a un panel que j'aurais decomposer en une grille en utilisant gridlayout?
le resultat serait une grille d'image avec des images differentes.
Tant que j'y suis comment fait on pour intercepter un click sur une image?
Merci.

3 réponses

willowman Messages postés 143 Date d'inscription vendredi 5 juillet 2002 Statut Membre Dernière intervention 18 mars 2006 1
5 août 2002 à 03:31
Salut !

Tu peux par exemple creer une classe CaseImage
derivant de JPanel, ou Container. Cette classe contiendra une instance d'Image à laquel tu associera une image jpg (_mon_img = image.getToolkit().getImage("fichier_image"))

Ensuite tu redefinis la methode paint de ta classe CaseImage pour pouvoir afficher cette image.

Puis tu definis un ecouteur pour l'evenement MouseClicked de ton image (ou le conteneur lui meme)

Enfin, dans ton prog principal tu instancis autant de fois la classe CaseImage que tu as besoin d'images à afficher. (en parametre tu peux passer le nom du fichier image).

Et voila !!

J'ai peux etre ete un peu brouillon, mais cette methode peut etre une solution !!
0
cs_bidules Messages postés 48 Date d'inscription samedi 31 mars 2001 Statut Membre Dernière intervention 11 avril 2004
5 août 2002 à 10:54
oui donc en fait je ne peux pas ajouter a un grid une image, il faut passer par un jpanel.Ok.
Tu ma dis d'ajouter un ecouteur pour l'evt mouseclicked mais je ne sais pas comment on fait, je suis debutant.
tu peux m'aider?
merci.
0
willowman Messages postés 143 Date d'inscription vendredi 5 juillet 2002 Statut Membre Dernière intervention 18 mars 2006 1
6 août 2002 à 18:21
Ok !

Lorsque tu vas declarer ta classe derivant de JPanel, tu indiqueras dans ton constructeurs qu'il vaut ecouter l'evenement "click de souris" et appeler une methode si cela se produisait !!

exemple :

public class CaseImage extends JPanel {

Image _monImage;

public CaseImage(String fichier) {
super();
_monimage = getToolKit().getImage(fichier);

addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
methodeAppelee()
}
});

this.show();
}

protected void methodeAppelee() {
//-- ici c'est ce que tu desires faire lors d'un
//-- clique de souris
}

public void paint(Graphics g) {
//-- ici tu affiches ton image..
g.drawImage(_monImage,x,y,....a completer)
}

}

Voila !! je n'ai mis que la base, pour pouvoir repondre a un click de souris sur ton image...
0
Rejoignez-nous