Comment inserer une image dans un jpanel ?
Est-ce le control le mieux approprié pour afficher une image?
merci
Comment inserer une image dans un jpanel ?
Est-ce le control le mieux approprié pour afficher une image?
merci
Deux choix possible (soit utiliser un JLabel avec la méthode setIcon.
Ou sinon créer une classé héritant de JPanel et redéfinisant la méthode paintComponent pour qu'elle dessine l'image.
++
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
La méthode setIcon() du jLabel prend en parametre un objet de type "Image". Seulement c'est une classe abstraite. Comment puis-je construire une image simplement avec son chemin d'accès?
merci
Je pense que cela pourrai t'aider, une classe JImage hérité de JPanel..
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 import java.awt.Image; import java.awt.Graphics; import java.awt.Dimension; import java.awt.MediaTracker; import javax.swing.JPanel; public class JImage extends JPanel { private String nomFichier; private Image image; private Dimension dimImage; public JImage (String nomFichier) { this.nomFichier=nomFichier; // bien-entendu nomFichier est un chemin absolu sans oublier les "\" de protection sous waindo image=getToolkit().getImage(nomFichier); // on pointe l'image dimImage=new Dimension(image.getWidth(this),image.getHeight(this)); setPreferredSize(dimImage); // j'initialise la taille du composanr à la taille de l'image } public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(image,0,0,this); } public Dimension getSize() { return dimImage; } }
ca c'est un beau cadeau!
N'oubliez pas le résolu si tout fonctionne bien
paintCompoment() c'est pour afficher l'image?
Qu'est ce que je dosi mettre en parametre?
merci
Pour utilisé cette classe, tu as juste à instancié un objet en passant en paramètre l'adresse de ton image.
Comme je ne suis pas fort en explication, je t'ai fais un petit programme de test, tu devrais comprendre le fonctionnement.
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 public test() { super("test"); //défini le titre setSize(200,200); //la taille JPanel pan=new JImage("H:\\google.gif"); //Panel FlowLayout b2=new FlowLayout(FlowLayout.CENTER); //layoutManager pan.setLayout(b2); //attache le layoutManager au panel setContentPane(pan); //defini le panel de la JFrame setVisible(true); //affiche la JFrame setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //opération par défaut ala fermeture } public static void main(String args[]) { new test(); }
Mon code n'est pas très bien structuré, veuillez m'en excuser mais j'ai pas trop le temps.
j'espere que sa pourra t'aidé! sinon n'hésite pas!
Partager