Partage
  • Partager sur Facebook
  • Partager sur Twitter

Applet Java

Image

    14 octobre 2008 à 16:20:26

    Bonjour,

    J'ai fait une applet Java et j'aimerais mettre une image de fond à mon applet. Mais d'après le tutorial du SdZ on ne peut pas utiliser de JFrame alors comment faire ?

    Mon main :
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    
    public class Testapplet extends JApplet {
    	
    	public void init() {
    		Fenetre_applet fenetre = new Fenetre_applet();
    
    	}
    	
    	
    }
    


    Mon Panneau pour gérer mon image de fond
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.File;
    import java.io.IOException;
    
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;
    
    
    public class Panneau_Applet extends JPanel {
    	public void paintComponent(Graphics g){
    		try {
                Image background = ImageIO.read(new File("liquidgauche.jpg"));
                //Pour une image de fond
                g.drawImage(background, 0, 0, this.getWidth(), this.getHeight(), this);
    		} catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        	}	
    
    	}
    }
    


    Ma fenetre pour incorporer mon image de fond
    import java.awt.BorderLayout;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    
    
    public class Fenetre_applet extends JFrame {
    	private Panneau_Applet panneau = new Panneau_Applet();
    	private JPanel container = new JPanel();
    	
    	/**
    	 * Méthode d'initialisation de l'applet
    	 * C'est cette méthode qui fait office de constructeur
    	 */
    	public Fenetre_applet(){
    		this.setSize(1250, 621);
    
    		container.setLayout(new BorderLayout());
            container.add(panneau, BorderLayout.CENTER);
            
            this.setContentPane(container);
    	    //On rend la fenetre visible
    	    this.setVisible(true);
    	}
    }
    


    Pourquoi cela ne marche pas en applet alors qu'en application cela marche nikel ?
    • Partager sur Facebook
    • Partager sur Twitter
      14 octobre 2008 à 16:23:24

      En fait ton applet remplace le JFrame. Donc au lieu de mettre ce que tu veux (ex : un JPanel) dans une JFrame, tu le mets dans le JApplet de la même manière.
      • Partager sur Facebook
      • Partager sur Twitter
        14 octobre 2008 à 16:43:23

        J'ai essayé d'utiliser la fonction : getImage(getDocumentBase(), imageName);

        Tout compile bien et mon applet se lance sans erreur mais mon image ne s'affiche pas. Pourtant il est bien à la racine du projet (comme pour un pannel) et le nom est correct.

        import java.awt.Graphics;   // Pour l'objet Graphics passé en paramètre de la méthode paint()
        import java.awt.Image;      // Pour l'objet Image que nous allons utiliser
        import javax.swing.JApplet; // La classe JApplet
        public class Testapplet extends JApplet {
        	
        	private Image image = null; // A la construction de notre objet, image est initialisé à null
        	
        	public void init() {
        		this.setSize(500,500);
        		image=getImage(getDocumentBase(), "arton.gif");
        		System.out.print("lu");
        	}
        	public void paint(Graphics g) {
        		g.drawImage(image, 0, 0, this);
        		System.out.print("lo");
        		// Dessin de l'inmage dans l'applet
        	}
        }
        


        Je veux juste ajouter une image à mon applet...

        Merci de votre aide.
        • Partager sur Facebook
        • Partager sur Twitter
          14 octobre 2008 à 16:51:08

          Salut.
          Dans le tuto, on voit comment dessiner une image dans un JPanel !
          Tu utilise un JPanel, doc tu ne devrais pas avoir de problème.

          Indice : cherche par là..., avant ou après....
          • Partager sur Facebook
          • Partager sur Twitter

          Applet Java

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown