Accueil > > > JIMAGE, UN COMPOSANT FAÇON JPANEL QUI GÈRE UNE IMAGE ET UN MEDIATRACKER
JIMAGE, UN COMPOSANT FAÇON JPANEL QUI GÈRE UNE IMAGE ET UN MEDIATRACKER
Information sur la source
Description
Ben voilà, ya deux jours je me suis mis à bosser sur les images, et je n'ai pas trouvé dans swing de classe toute faite pour afficher correctement une image (ça se trouve il y en a une queque part, mais je porte de grosses lunettes). Alors j'en ai fait une. Ca s'utilise comme un JPanel mais avec un nom de fichier en plus. Il y a aussi un MediaTracker pour maîtriser le chargement de l'image.
Source
- import java.awt.Image;
- import java.awt.Graphics;
- import java.awt.Dimension;
- import java.awt.MediaTracker;
- import javax.swing.JPanel;
-
- public class JImage extends JPanel
- {
- private String nomFichier;
- private Image image;
- private Dimension dimImage;
- private MediaTracker tracker;
-
- public JImage (String nomFichier)
- {
- this.nomFichier=nomFichier;
- // bien-entendu nomFichier est un chemin absolu sans oublier les "\" de protection sous waindo
-
- image=getToolkit().getImage(nomFichier);
- // on pointe l'image
-
- tracker=new MediaTracker(this);
- tracker.addImage(image,0);
- // on précise au tracker qu'il doit gérer l'image à l'appel du groupe 0
-
- try{tracker.waitForID(0);} catch (InterruptedException e) {}
- // on déclenche le chargement du groupe 0 et on attend que l'image soit chargée pour passer à la suite
-
- dimImage=new Dimension(image.getWidth(this),image.getHeight(this));
- setPreferredSize(dimImage);
- // j'initialise la taille du composanr à la taille de l'image
- }
-
- public void paintComponent(Graphics g)
- {
- super.paintComponent(g);
- g.drawImage(image,0,0,this);
- }
-
- public Dimension getSize()
- {
- return dimImage;
- }
- }
import java.awt.Image;
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.MediaTracker;
import javax.swing.JPanel;
public class JImage extends JPanel
{
private String nomFichier;
private Image image;
private Dimension dimImage;
private MediaTracker tracker;
public JImage (String nomFichier)
{
this.nomFichier=nomFichier;
// bien-entendu nomFichier est un chemin absolu sans oublier les "\" de protection sous waindo
image=getToolkit().getImage(nomFichier);
// on pointe l'image
tracker=new MediaTracker(this);
tracker.addImage(image,0);
// on précise au tracker qu'il doit gérer l'image à l'appel du groupe 0
try{tracker.waitForID(0);} catch (InterruptedException e) {}
// on déclenche le chargement du groupe 0 et on attend que l'image soit chargée pour passer à la suite
dimImage=new Dimension(image.getWidth(this),image.getHeight(this));
setPreferredSize(dimImage);
// j'initialise la taille du composanr à la taille de l'image
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(image,0,0,this);
}
public Dimension getSize()
{
return dimImage;
}
}
Conclusion
que dire de plus ? Ah si avant de déclencher une polémique genre "Mais elle sert à rien cette classe", je précise que mon objectif c'est de me "bricoler" des classes pour développer relax, et que fatalement toutes mes classes sont inutiles parce qu'on peut tout mettre dans un main et faire aussi bien ( ma conception de l'objet est une conception pépère, je le dit haut et fort et j'en suis fier okay ?!). Mais par contre si vous avez un moyen de faire ça plus simplement je susi preneur. Bon celà mis à part je vais certainement revoir le tout pour gérer les exception et peut être (je dis bien peut être) faire un nouveau constructeur pour passer un MediaTracker en param, histoire coordonner les chargement de plusieurs JImages (mais ça semble mal barré.
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE?[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE? par JeremyJeanson
Avec la sortie de la RC de Visual Studio 2010, Microsoft a mis un peu les points sur leS i en ce qui concernait le passage d'arguments. Mais nous somme un certain nombre à avoir pris ce changement comme un coup dur. Pour résumer la situation : à la sortie...
Cliquez pour lire la suite de l'article par JeremyJeanson [RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit
Forum
RE : SCADARE : SCADA par Twinuts
Cliquez pour lire la suite par Twinuts
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|