//
Afficher deux images en Java
/** PremImage.java Afficher deux images (.gif et .jpg)
utilisation de getToolkit().createImage()
utilisation de MediaTracker
répertoires courant et accueil
*/
// Deux classes: public class PremImage extends Frame {
// class ZoneDessin extends Canvas {
import java.awt.event.*;
import java.awt.MediaTracker;
import java.awt.*;
public class PremImage extends Frame {
Image imIUT, logo;
/** Constructeur */
public PremImage(String repImage) {
try {
// String repImage="K:\\app\\java\\nb\\iu\\";
String fic1=repImage+"logo-iut.gif";
String fic2=repImage+"logoCCI.jpg";
imIUT = getToolkit().createImage(fic1);
// while(!prepareImage(imIUT,-1,-1,this));
logo = getToolkit().createImage(fic2);
MediaTracker chargeur = new MediaTracker(this);
chargeur.addImage(imIUT,0);
chargeur.addImage(logo,0);
if(!chargeur.isErrorAny()) chargeur.waitForID(0);
// while(!prepareImage(logo,-1,-1,this));
dessineFen();
setVisible(true);
}
catch (Exception e) { e.printStackTrace(); }
}
/** Dessiner la fenêtre principale */
private void dessineFen() throws Exception {
// Titre et géomètre de la fenêtre principale
this.setTitle("Fenêtre PremImage");
this.setLayout(new BorderLayout());
// Pannau du haut avec deux boutons côte à côte
Panel panBouts = new Panel();
panBouts.add(pourQuitter("Quitter"));
// Panneau et zone de dessin dans la fenêtre
this.add(panBouts,BorderLayout.NORTH);
this.add(new ZoneDessin(imIUT,logo),BorderLayout.CENTER);
setSize(new Dimension(300, 400));
}
/** Construit un bouton et met en place deux réflexes (quitter par
* un bouton ou par le gestionnaire de fenêtres) qui appellent
* la méthode quitterFen()
*/
Button pourQuitter(String ch) {
// Pour quitter par le bouton
Button quit = new Button(ch);
quit.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent evt) { quitterFen(); }
});
// Pour quitter par l'encadrement (gestionnaire de fenêtres)
WindowAdapter pf = new WindowAdapter() {
public void windowClosing(WindowEvent e) { quitterFen(); };
};
this.addWindowListener(pf);
return quit;
}
/** Surveille la fermeture de la fenêtre */
void quitterFen() { System.exit(0); }
public static void main(String[] mots) {
String repImage="./";
if(mots.length==1) repImage=mots[0];
System.out.println(mots.length+" rep.image: "+repImage);
PremImage fen = new PremImage(repImage);
System.out.println("image: "+
fen.imIUT.getWidth(fen)+"x"+fen.imIUT.getHeight(fen));
System.out.println(
"rep.courant(user.dir):"+System.getProperty("user.dir")
+ "\nrep.accueil (user.home):"+System.getProperty("user.home")
+ "\nchemin.classes (java.class.path):"+System.getProperty("java.class.path")
);
// ImageIcon ic= new ImageIcon("logo-iut.gif");
}
}
/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/
class ZoneDessin extends Canvas {
Image imIUT,logo;
ZoneDessin(Image i1, Image i2) {imIUT=i1; logo=i2;}
public void paint(Graphics cg) {
cg.drawImage(imIUT,10,30,190,60,this);
cg.drawImage(logo,10,100,150,200,this);
cg.drawString("Je dessine", 10,10);
}
}
//fin PremImage.java