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 :

Problem d'insertion d'image dans un Jpanel


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut Problem d'insertion d'image dans un Jpanel
    Bonjour,

    Je veux insérer une image dans un jpanel.

    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
    32
    33
    34
    35
     
    import java.awt.*;
    import javax.swing.*;
     
    class fenetre extends JFrame
        {
        private JPanel pan ;
        fenetre (){
            setTitle ("IMAGES") ;
            setSize (300, 300) ;
            pan = new Panneau() ;
            getContentPane().add(pan) ;
        }
    }
     
    class Panneau extends JPanel
        {
        private Image photo = null;
        public Panneau(){
            photo = getToolkit().getImage("h_9_ill_902074_magadiscio.jpg") ;
        }
     
        public void paintComponent(Graphics g){
            super.paintComponent(g) ;
            if(photo != null){
                g.drawImage (photo, 0, 0, this);System.out.println("photo");}
            }
    }
     
    public class dns{
        public static void main (String args[]){
            fenetre fen = new fenetre() ;
            fen.setVisible(true) ;
        }
    }

    Il affiche la fenetre mais il ya rien dedant.
    Si qq1 voit où est le probleme, n'hésite pas et merci.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut
    C'est bon, j'ai trouvé, voilà 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    import java.awt.image.*;
    import javax.imageio.*;
    import java.io.*;
    import java.awt.*;
    import javax.swing.*;
     
    public class image {
     
        private static class FrameShower implements Runnable {
     
            final Frame frame;
     
            public FrameShower(Frame frame) {
                this.frame = frame;
            }
     
            public void run() {
                frame.show();
            }
        }
     
        public static void main(String args[]) throws IOException {
     
     
            File file = new File("005743.jpg");
            BufferedImage input = ImageIO.read(file);
            System.out.println(input);
            // Convert
            Kernel sharpKernel = new Kernel(3, 3, new float[] { 0.0f, -1.0f, 0.0f, -1.0f, 5.0f, -1.0f, 0.0f, -1.0f, 0.0f });
            ConvolveOp convolveOp = new ConvolveOp(sharpKernel, ConvolveOp.EDGE_NO_OP, null);
            int width = input.getWidth();
            int height = input.getHeight();
            BufferedImage output = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
            convolveOp.filter(input, output);
            // Make screen
            Icon icon = new ImageIcon(output);
            JLabel label = new JLabel(icon);
            JFrame frame = new JFrame("Sharp Image");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.getContentPane().add(label, BorderLayout.CENTER);
            frame.pack();
            // Show
            Runnable runner = new FrameShower(frame);
            EventQueue.invokeLater(runner);
        }
    }
    il affiche bien l'image dans une fenetre

  3. #3
    Membre actif
    Avatar de JMLLB
    Inscrit en
    Septembre 2006
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 285
    Points : 268
    Points
    268
    Par défaut
    Il existe un classe image
    http://javasearch.developpez.com/j2s...awt/Image.html.

    Même si java n'a pas de soucis pour faire la différence entre les deux il vaut mieux éviter ce genre de redéfinition.

    testImage par exemple bien que pas très original ne pose pas ce genre de problème et correspond plus à la fonction de ta classe.
    S'il n'y a pas de solutions, il n'y a pas de problème.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par taouja
    C'est bon, j'ai trouvé, voilà 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    import java.awt.image.*;
    import javax.imageio.*;
    import java.io.*;
    import java.awt.*;
    import javax.swing.*;
     
    public class image {
     
        private static class FrameShower implements Runnable {
     
            final Frame frame;
     
            public FrameShower(Frame frame) {
                this.frame = frame;
            }
     
            public void run() {
                frame.show();
            }
        }
     
        public static void main(String args[]) throws IOException {
     
     
            File file = new File("005743.jpg");
            BufferedImage input = ImageIO.read(file);
            System.out.println(input);
            // Convert
            Kernel sharpKernel = new Kernel(3, 3, new float[] { 0.0f, -1.0f, 0.0f, -1.0f, 5.0f, -1.0f, 0.0f, -1.0f, 0.0f });
            ConvolveOp convolveOp = new ConvolveOp(sharpKernel, ConvolveOp.EDGE_NO_OP, null);
            int width = input.getWidth();
            int height = input.getHeight();
            BufferedImage output = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
            convolveOp.filter(input, output);
            // Make screen
            Icon icon = new ImageIcon(output);
            JLabel label = new JLabel(icon);
            JFrame frame = new JFrame("Sharp Image");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.getContentPane().add(label, BorderLayout.CENTER);
            frame.pack();
            // Show
            Runnable runner = new FrameShower(frame);
            EventQueue.invokeLater(runner);
        }
    }
    il affiche bien l'image dans une fenetre

    Salut,
    La difference par rapport a ton premier bout de code ce situe au niveau du ImageIO.read(file);
    qui fait plus de chose que le getToolkit... , en fait dans ton premier exemple il n'a pas finit de charger l'image du coup quand tu l'affiche rien de ne s'affiche
    UML avec VIOLET

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/01/2006, 10h57
  2. Rafraichir image dans un jPanel
    Par kentao dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/01/2006, 16h31
  3. [JPanel]Mettre une image dans un JPanel
    Par ehmppowa dans le forum Composants
    Réponses: 11
    Dernier message: 30/11/2005, 20h17
  4. [JTable] Insertion d'images dans la première colonne
    Par cocolepelo dans le forum Composants
    Réponses: 2
    Dernier message: 29/11/2005, 15h17
  5. Probleme d'affichage d'image dans une fenetre
    Par cgregueusse dans le forum MFC
    Réponses: 1
    Dernier message: 03/08/2005, 11h08

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