IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

fond d'ecran sur une frame


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Par défaut fond d'ecran sur une frame
    Bonjour je voudrais mettre en fond d'ecran d'une jframe une image qui se trouve sur mon disque dur. Je ne trouve pas l'erreur sur mon code pourtant j'ai essayé pas mal de chose, voilà mon code si quelqu'un a une idée merci de partager...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    import javax.imageio.ImageIO;
    import javax.swing.*;
     
    import java.awt.event.*;
    import java.awt.image.BufferedImage;
    import java.awt.*;
    import java.io.*;
     
     
     
    public class Fenetre extends JFrame{
     
    public static void main(String[] args) throws IOException {
    System.out.println("demarrage");
    new Fenetre();
    System.out.println("FIN");
     
    }
     
     
    public Fenetre() throws IOException{
    super();
    Image fond;
     
     
    Toolkit tk = Toolkit.getDefaultToolkit();
    Dimension tailleEcran = tk.getScreenSize();
    int largeurEcran = tailleEcran.width;
    int hauteurEcran = tailleEcran.height;
     
    fond = tk.getImage("src/Collines.jpg");
    this.setIconImage(fond);
     
     
    this.setTitle("Petite fenetre");
    this.setSize(900, 700);
    this.setLocation(largeurEcran*2/8, hauteurEcran*2/8);
     
     
    FenetreFond fenFond = new FenetreFond("src/Collines.jpg");
    try
    {
    //Image im = new ImageIcon("src/Collines.jpg").getImage();
    //BufferedImage bimag = new BufferedImage(im.getWidth(null), im.getHeight(null), BufferedImage.TYPE_4BYTE_ABGR);
    //Image image = ImageIO.read(new File("src/Collines.jpg"));
    Graphics g = fenFond.imag.getGraphics();
    //g.drawImage(im,0,0,null);
    fenFond.paintComponents(g);
    //this.add(fenFond);
    this.setContentPane(fenFond);
    //this.getContentPane().setLayout(new BorderLayout());
    this.pack();
    this.setBounds(100,80,900,700);
    this.setVisible(true);
    System.out.println("on é la");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    catch(Exception e)
    {
    System.out.println("ERREUR");
    e.printStackTrace();
    }
    System.out.println("on é sortie");
     
    }
     
    class FenetreFond extends JPanel
    {
    Image imag;
    public FenetreFond(String s) throws IOException{
    imag = ImageIO.read(new File(s));
    //imag = new ImageIcon(s).getImage();
    //imag = getToolkit().getImage(s);
    }
    public void paintComponents(Graphics g)
    {
    System.out.println("passons par la");
    //Image imag = new ImageIcon("src/Collines.jpg").getImage();
    g.drawImage(imag,0,0,getWidth(), getHeight(),this);
    }
    }
    }

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Il serait mieux que tu nous post le code de l'erreur, ça aiderait à mieux te situer sur le probleme.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Par défaut
    En fait j'ai pas d'erreur le code s'exécute bien mais ma fenêtre apparait sans image elle reste grise et je vois pas pourquoi?

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Parce que tu ne redéfinis pas la bonne méthode, ce n'est paintComponents, mais paintComponent.

    De plus, je ne vois pas à quoi te sert :
    • setIconImage(fond);

    • Graphics g = fenFond.imag.getGraphics();

    • fenFond.paintComponents(g); (on n'appel pas les méthodes de dessin explicitement)

    • imag = ImageIO.read(new File(s)); (tu as déjà lu l'image auparavant, autant passé la référence de l'image)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    import javax.swing.*;
    import java.awt.*;
    import java.io.*;
     
    public class Fenetre extends JFrame {
     
    	public static void main(String[] args) throws IOException {
    		Fenetre f = new Fenetre();
    	}
     
    	public Fenetre() throws IOException {
    		Toolkit tk = Toolkit.getDefaultToolkit();
    		Dimension tailleEcran = tk.getScreenSize();
    		int largeurEcran = tailleEcran.width;
    		int hauteurEcran = tailleEcran.height;
     
    		Image fond = tk.getImage("src/anges.jpg");
     
    		this.setTitle("Petite fenetre");
    		this.setSize(900, 700);
    		this.setLocation(largeurEcran * 2 / 8, hauteurEcran * 2 / 8);
     
    		FenetreFond fenFond = new FenetreFond(fond);
    		this.setContentPane(fenFond);
    		this.pack();
    		this.setBounds(100, 80, 900, 700);
    		this.setVisible(true);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
     
    	private class FenetreFond extends JPanel {
     
    		private Image imag;
     
    		public FenetreFond(Image s) throws IOException {
    			imag = s;
    		}
     
    		public void paintComponent(Graphics g) {
    			g.drawImage(imag, 0, 0, getWidth(), getHeight(), this);
    		}
    	}
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Par défaut
    Merci visiwi!!!
    En fait le setIconImage était la pour vérifier si on arrivé à récupérer l'image, par contre pour le reste merci je devais redéfinir la bonne méthode!!!

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Par défaut
    SVP les amis je suis debutant en java et je voulais savoir si on peut ajouter sur le code source ci dessous une grille qui soit transparente afin de voir l'image de fond ??



    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Localiser l'action du javascript sur une frame
    Par iks22 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/01/2007, 19h34
  2. [FLASH 8] Lancer clip sur une frame donnée
    Par ainotenshi dans le forum Flash
    Réponses: 2
    Dernier message: 14/08/2006, 17h32
  3. Probleme de keyLister sur une Frame
    Par superjoe dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 23/03/2006, 15h45
  4. [VB]Fond d'ecran dans une feuille MDI
    Par zejo63 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 23/01/2006, 17h47
  5. Fond d'Ecran sur le ctrl+alt+suppr
    Par DonFelipe dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 19/09/2005, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo