cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 16 févr. 2005 à 02:41
Salut, il y bien des facon "d'afficher une image", meme a un "endroit precis". La solution la plus simple me semble etre l'utilisation de javax.swing.JLabel .
Il suffit alors d'invoquer la fonction .setIcon(Icon IconeAffichee)
Considerant cela, le plus compliqué en realité est de recuperer ton image en objet Icon.
La encore pas de quoi se faire des cheveux blanc, c'est pas tres compliqué mais c'est surtout tres répétitif... si bien que lassé, j'ai créé une class qui te renvoi une image comme t'en a besoin (meme directement un JLabel si tu lui demande gentiement), il suffit de lui donner l'adresse de l'image (petit clin d'oeil pour les developpeur d'applet, ca marche aussi avec les URL (et meme bien ;)).
Voila la classe qui est tout a fait modifiable a souhait selon les besoins:
class Imageur
extends Object
{
private ImageIcon Oeuvre;
public Imageur(String AdresseImage)
{
this.Oeuvre =
new ImageIcon(AdresseImage);
}
public Icon getIco()
{
return this.getLabel().getIcon();
}
public Image getImage()
{
return this.Oeuvre.getImage();
}
public JLabel getLabel()
{
return new JLabel(
this.Oeuvre);
}
public Graphics getGraph()
{
return this.getLabel().getGraphics();
}
}
Voila, au niveau des fonction dont dispose cette classe, il est parfois "utile" d'en enlever certaines pour economiser des import au dessus... mais bon, quand on veux des images on en a assez vite besoin.
un petit exemple pour finir... considere une JFrame simple (avec le layout par defaut) voici deux petites lignes compacte mais qui illustrent assez bien l'utilité de ce petit bout de code:
MaJFrame.setIconImage(
new Imageur(
"C://images/appico.jpg").getImage());
MaJFrame.getContentPane().add(
new Imageur(
"C://images/monimage.jpg").getLabel());
la seconde ligne ajoute un JLabel dans la JFrame car Imageur.getLabel() renvoi directement le dit JLabel avec l'image qui va bien dedant (c'est pas dur mais le code est plus leger avec la classe que sans)...
supers03
Messages postés106Date d'inscriptionmardi 6 janvier 2004StatutMembreDernière intervention 1 décembre 2008 17 févr. 2005 à 20:16
Salut AbriBus
Pour ta class magique tu dis que ça marche aussi avec les URLs, mais j'ai essayé en utilisant la même méthode que toi (http://www.javafr.com/forum.v2.aspx?ID=394769) et moi j'y arrive pas ... alors est-ce que ça vient du fait que je n'utilise pas un applet ???
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 17 févr. 2005 à 20:36
Je n'avais pas vu ton topic... qui est fort interressant au demeurant. J'avais fait cette classe il y a quelques mois (effectivment dans le cadre d'une applet) et le resultat etait fort satisfaisant. Depuis, j'ai été la pauvre victime de la mort de mon disque dur. J'ai ainsi vu cette classe disparaitre puis je l'ai réécrite pour l'occasion de ce post (et c'etait pas explicitement pour les images contenues dans une URL). Je reprend ma classe, je la modifie et je te le met sur ton post...
a tte
'BriBus