Image arrière plant sur fenetre

ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 17 févr. 2008 à 22:50
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 18 févr. 2008 à 18:06
bonsoir
j'ai un problème je n'arrive pas a afficher image comme arrière plant sur la fenetre
je vous montre le code qui ne fonctionne pas

 
import javax.imageio.ImageIO;
import java.awt.event.*;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.swing.*;
import java.awt.*;

import java.awt.image.BufferedImage;

public class menu extends JFrame   {
 JMenuBar jMenuBar1 = new JMenuBar();
 JMenu jMenu1 = new JMenu();
 JMenu jMenu2 = new JMenu();

 JMenuItem jMenuItem1 = new JMenuItem();

 JMenuItem jMenuItem2 = new JMenuItem();

Image fond=null;
 BufferedImage im;
menu(){
setTitle("SALUT");
this.setResizable(false);
this.setSize(750, 580);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   try {
             this.im = ImageIO.read(new File("C:\\Documents and Settings\\ra\\Bureau\\8.jpg"));
         }
         catch (IOException e1) {
 
             e1.printStackTrace();
         }

try {
  jbInit();
}
catch(Exception e) {
  e.printStackTrace();
}
}
public static void main (String []  args){
    menu d = new menu() ;

       d.setVisible(true);
}

private void jbInit() throws Exception {

   this.setIconImage(null);
   this.setJMenuBar(jMenuBar1);
   this.getContentPane().setLayout(null);
   jMenu1.setText("       A      ");

   jMenu2.setText("       B      ");

   jMenuItem1.setText("stock");

   jMenuItem2.setText("commande");

 

   jMenuBar1.add(jMenu1);
   jMenuBar1.add(jMenu2);

 

   jMenu1.add(jMenuItem1);
   jMenu1.add(jMenuItem2);
   this.repaint();

}

     public void paint(Graphics arg0) {
          arg0.drawImage(im, 0, 0, this);
          super.paint(arg0);
      }
}

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 févr. 2008 à 06:58
Salut,

Déjà dit et redit et reredit : il faut utiliser l'événement paintComponent et non paint pour tracer sur un jframe !

Sans oublier d'appeller la méthode mère avant !
______________________________________
DarK Sidious
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
18 févr. 2008 à 18:06
voila ce que je viens de faire mais ne fonctionne pas

import javax.imageio.ImageIO;
import java.awt.event.*;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.swing.*;
import java.awt.*;

import java.awt.image.BufferedImage;

public class menu extends JFrame   {
 JMenuBar jMenuBar1 = new JMenuBar();
 JMenu jMenu1 = new JMenu();
 JMenu jMenu2 = new JMenu();

 JMenuItem jMenuItem1 = new JMenuItem();

 JMenuItem jMenuItem2 = new JMenuItem();

Image fond=null;
 BufferedImage im;
menu(){
setTitle("SALUT");
this.setResizable(false);
this.setSize(750, 580);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  

try {
  jbInit();
}
catch(Exception e) {
  e.printStackTrace();
}
}
public static void main (String []  args){
    menu d = new menu() ;

       d.setVisible(true);
}

private void jbInit() throws Exception {

   this.setIconImage(null);
   this.setJMenuBar(jMenuBar1);
   this.getContentPane().setLayout(null);
   jMenu1.setText("       A      ");

   jMenu2.setText("       B      ");

   jMenuItem1.setText("stock");

   jMenuItem2.setText("commande");

 

   jMenuBar1.add(jMenu1);
   jMenuBar1.add(jMenu2);

 

   jMenu1.add(jMenuItem1);
   jMenu1.add(jMenuItem2);
   this.repaint();

}

 public void paintComponent(Graphics g) {
 
                 Graphics2D g2 = (Graphics2D) g;
                 ImageIcon ic = new ImageIcon(getClass().getResource("C:\\Documents and Settings\\Bafa\\Bureau\\1.jpg"));
                 Image fond = ic.getImage();
 
                 g2.drawImage(fond, 0, 0, 1024, 680, this);
         }
    }
0
Rejoignez-nous