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

AWT/Swing Java Discussion :

image en arriere plan


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2007
    Messages : 71
    Par défaut image en arriere plan
    bonsoir
    je sais que c bête
    mais est-ce que quelqu'un peut m'expliquer comment faire une image en arriére
    plant d'un JPanel
    merci d'avance

  2. #2
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    il faudra redéfinir la méthode paintComponent de JPanel. C'est expliqué dans la faq http://java.developpez.com/faq/gui/?...E_fond_fenetre

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2007
    Messages : 71
    Par défaut
    merci
    mais ça marche pas ,j'ai fait la code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    public class pan_nor extends JPanel {
    Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
    Image img=toolkit.getImage("graph.png");
     
     
        @Override
    public void paintComponent(Graphics g) {
     
                    g.drawImage(img,0,0,null);
            }
     
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class ui extends JFrame
      private  JPanel p=new pan_nor();
    public ui()
    {
     add(p,BorderLayout.NORTH);
    //le reste du code
    }
    sans résulatat

  4. #4
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Voici une proposition de correction pour que ton code fonctionne.
    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
    public class panNor extends JPanel {
     
       private final Image img;
     
       public panNor() {
          img = java.awt.Toolkit.getDefaultToolkit().getImage("graph.png");
       }
     
       @Override
       protected void paintComponent(Graphics g) {
          super.paintComponent(g);
     
          // si tu utilises le Toolkit pour accéder à l'image, 
          // elle sera chargée seulement au premier affichage donc
          // il faut utiliser un image Observer pour prévenir de la fin du chargement.
          g.drawImage(img, 0, 0, this);
       }
    }

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2007
    Messages : 71
    Par défaut
    merci pour l'interaction
    mais rien de spécial,toujours pas de résultat

  6. #6
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Essaye çà, tu auras au moins des infos sur le problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public panNor() throws IOException {
          img = ImageIO.read(new File("graph.png"));
          // pour le debug :
          System.out.println("image w: "+ img.getWidth(this));
    }

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2007
    Messages : 71
    Par défaut
    bonsoir
    ça me donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    GRAVE: null
    javax.imageio.IIOException: Can't read input file!
    l'image est dans un répertoire avec d'autre Icones que j'ai l'utilise comme ImageIcon dans les buttons de mon programme

  8. #8
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    salut .
    faut placer ton image dans la répertoire contenant ton projet

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Décembre 2007
    Messages : 71
    Par défaut
    bonjour tout le monde en fin ça marche
    voici le code
    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
    .
    public class pan_nor extends JPanel {
    //Toolkit toolkit =
    Image img;
     
    public pan_nor()
    {
     
                //img=java.awt.Toolkit.getDefaultToolkit().getImage("graph.png");
        img = new ImageIcon(getClass().getResource("graph.png")).getImage();
        Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
     
     
     
     
    }
     
     
     
    public void paintComponent(Graphics g) {
     
     
                    g.drawImage(img,0,0,null);
            }
     
    }

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Par défaut
    Merci pour le code

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

Discussions similaires

  1. mettre une image en arriere plan
    Par ricardvince dans le forum Graphisme
    Réponses: 11
    Dernier message: 23/05/2006, 11h04
  2. image comme arrière-plan dans une fenetre?
    Par afrikha dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 08/10/2005, 21h22
  3. Comment mettre une image en arriere plan
    Par huon dans le forum Access
    Réponses: 1
    Dernier message: 13/09/2005, 17h16
  4. Centrage de texte avec une image en arriere plan
    Par MasterOfChakhaL dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 26/08/2005, 19h31
  5. image d'arriere plan
    Par mikky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/05/2005, 19h05

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