[Java] Inserer un image dans un Jlabe !!

Fermé
Acirann - 17 févr. 2009 à 23:13
 Acirann - 18 févr. 2009 à 13:58
Bonjour,

Je sais que cette question a déjà été souvent posé , désolé a ce propos.


Bon , j'ai suivi beaucoup de méthode que j'ai vu sur le web sans pour toujours arriver a un bon résultat , donc j'ai décidé de poster pour de l'aide.

Voici une parti de mon code , en gros c'était un exercice d'école , mais je désire maintenant lui ajouter une image en background. J'ai aucune erreur a l'écran c'est juste quand je l'exécute que ça bloque. Si vous voyez pourquoi ça fonctionne pas , éclairez ma lanterne s.v.p :)


 public class Partie2 extends JFrame implements ActionListener, MouseListener, DocumentListener {
        private JButton btnButton;
        private Container contenant;
        private JLabel lblLabel;
        private JTextField txtTexte;
        private JLabel lblLabel1;
        

        public Partie2(Point position, String titre){
            this.setLocation(position);
            this.setSize(1024,780);
            this.setTitle(titre);
            this.setResizable(false);
            this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);            
            
            lblLabel1 = new JLabel(new ImageIcon("C:\fallout.jpg"));
            contenant.add(lblLabel1);
            
            contenant = this.getContentPane();
            contenant.setLayout(null);
            
            btnButton = new JButton("Copier");
            contenant.add(btnButton);
            btnButton.setBounds(400,200,75,75);
            
            lblLabel= new JLabel("Ceci est l'étiquette");
            contenant.add(lblLabel);
            lblLabel.setBounds(400,300,200,20);            
          
            txtTexte = new JTextField("Ceci est le champ de texte");
            contenant.add(txtTexte);
            txtTexte.setBounds(400,350,200,20);

            btnButton.addActionListener(this);
            txtTexte.getDocument().addDocumentListener(this);
            
            
            this.setVisible(true);
        }


Merci
A voir également:

5 réponses

Personne ??? :)
0
salut, tout d'abord, je serais toi, je mettrais tous tes fichiers(images comprises) dans un même dossier (avec des sous dossiers par exemple), puis dans le constructeur de tes labels, e mettrai des chemins relatifs.
Je m'explique : si tu essaies d'exécuter l'application sur un autre pc, les adresses auront changées.
Exemples de chemin relatif :
- "./image.jpeg" : si la photo est dans le même dossier que ton .class
- sinon pour remonter au dossier parent, il faut utiliser".."
exemple: *repertoire
* sous_repertoire1
* sous_repertoire2
si ton .class est dans "sous_repertoire1" et tes images dans "sous_repertoire2", voici le chemin à mettre dans ton constructeur : "../sous_repertoire2" : en gros tu remontes au dossier parent, et tu choisis celui que tu veux (tu peux aussi faire "../../../repertoireX"

je sais pas si ça va completement résoudre ton probeleme, mais ça va éviter certaines erreures
0
Salut

J'ai copier mon image a la même place que mon .class et j'ai ensuite modifier mon code pour qu'il ressemble a ca.

ImageIcon image = new ImageIcon(Toolkit.getDefaultToolkit().getImage("./fallout.jpg"));

et ca me donne toujour cette erreur quand je compile.

Exception in thread "main" java.lang.NullPointerException
at cegep.Partie2.<init>(Partie2.java:35)
at cegep.Partie2.main(Partie2.java:74)
0
euh ... tu peux me dire à quoi correspondent les lignes que te donne le compilo stp ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
at cegep.outaouais.Partie2.<init>(Partie2.java:35)

se rapporte a
lblLabel1.setPreferredSize(new Dimension(image.getIconWidth(), image.getIconHeight()));

et
at cegep.outaouais.Partie2.main(Partie2.java:74)

se rapporte a
new Partie2(new Point(300,400),"Fenetre");
0