//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