Java comment afficher une image dans Jpanel
Résolu/Fermé
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
-
23 sept. 2010 à 12:39
geospatial - 14 mai 2012 à 23:15
geospatial - 14 mai 2012 à 23:15
A voir également:
- Afficher une image en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Image iso - Guide
- Comment agrandir une image - Guide
8 réponses
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
23 sept. 2010 à 14:34
23 sept. 2010 à 14:34
Bonjour,
le code suivant affiche une image dans une fenetre:
à toi de t'en servir correctement
le code suivant affiche une image dans une fenetre:
import java.awt.Graphics; import java.awt.Image; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; public class Panneau extends JPanel { public void paintComponent(Graphics g){ try { Image img = ImageIO.read(new File("nomImage.jpg")); g.drawImage(img, 0, 0, this); //Pour une image de fond //g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
à toi de t'en servir correctement
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
3
23 sept. 2010 à 14:39
23 sept. 2010 à 14:39
salut je te remercie de m'avoir donnee une solution
je vai de suis essayer ce code
et encore merci de m'avoir repondu
je vai de suis essayer ce code
et encore merci de m'avoir repondu
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
3
23 sept. 2010 à 14:49
23 sept. 2010 à 14:49
re salut j ai mis exatement le code que tu pas proposer est ca ne marche pas
quand je mes public pour la class panneau ca me detecte une erreur dans j ai enlever le public c est senser marcher mes ca ne marche pas
pouvez vous me dire ce qui ne va pas dans ce code
merci
quand je mes public pour la class panneau ca me detecte une erreur dans j ai enlever le public c est senser marcher mes ca ne marche pas
pouvez vous me dire ce qui ne va pas dans ce code
merci
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * frame.java * * Created on 23 sept. 2010, 14:35:09 */ import java.awt.Graphics; import java.awt.Image; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; /** * * @author sofiene */ public class frame extends javax.swing.JFrame { /** Creates new form frame */ public frame() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { Panneau = new javax.swing.JPanel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); javax.swing.GroupLayout PanneauLayout = new javax.swing.GroupLayout(Panneau); Panneau.setLayout(PanneauLayout); PanneauLayout.setHorizontalGroup( PanneauLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 100, Short.MAX_VALUE) ); PanneauLayout.setVerticalGroup( PanneauLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 100, Short.MAX_VALUE) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(64, 64, 64) .addComponent(Panneau, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(236, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(48, 48, 48) .addComponent(Panneau, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(152, Short.MAX_VALUE)) ); pack(); }// </editor-fold> /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new frame().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JPanel Panneau; // End of variables declaration } class Panneau extends JPanel { public void paintComponent(Graphics g){ try { Image img = ImageIO.read(new File("C:/Users/sofiene/Desktop/Lighthouse.jpg")); g.drawImage(img, 0, 0, this); //Pour une image de fond //g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
23 sept. 2010 à 15:53
23 sept. 2010 à 15:53
....tu comprend ce que tu code?
Fait un test du code que je t'es donné a part ave'c sa propre méthope main...ce que tu as fait ne va pas du tout, faut pas te contenter de recopier betement ce que je t'ai donné, il faut l'adapter a ton code.
Si il y a des choses que tu ne comprend pas sur les conteneur, je te conseil de jeter un coup d'oeil à ce cours:
Java et la programmation événementielle
et plus particulierement la partie
Une histoire de conteneur
Fait un test du code que je t'es donné a part ave'c sa propre méthope main...ce que tu as fait ne va pas du tout, faut pas te contenter de recopier betement ce que je t'ai donné, il faut l'adapter a ton code.
Si il y a des choses que tu ne comprend pas sur les conteneur, je te conseil de jeter un coup d'oeil à ce cours:
Java et la programmation événementielle
et plus particulierement la partie
Une histoire de conteneur
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
3
23 sept. 2010 à 16:13
23 sept. 2010 à 16:13
salut
c est vrai que je du mal a comprends c est normal je debute
peu tu me dire quel son les erreur que j ai faite et la raison pour laquelle le code ne fonctionne pas.
merci
c est vrai que je du mal a comprends c est normal je debute
peu tu me dire quel son les erreur que j ai faite et la raison pour laquelle le code ne fonctionne pas.
merci
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
23 sept. 2010 à 16:20
23 sept. 2010 à 16:20
regarde le nom de la classe, tu l'utilise partout au dessus sans avant meme qu'elle n'existe, il faut changer ça. Et puis ou l'initialise tu? ou la declares tu et la lance tu?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
3
23 sept. 2010 à 16:26
23 sept. 2010 à 16:26
merci pour c est remarque je croie que je commence a comprendre
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
23 sept. 2010 à 16:33
23 sept. 2010 à 16:33
en gros ce que je t'ai donné, tu ne gardes que la méthode, ou es fonction utilisé, et tu les insere dans ton code la ou tu en as besoin. mais in ne faut pas insérer tout la classe d'un coup comme ça.
Sur ce moi je vais partir, je reviens demain à 9h. bonne chance :)
Sur ce moi je vais partir, je reviens demain à 9h. bonne chance :)
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
3
23 sept. 2010 à 16:43
23 sept. 2010 à 16:43
j ai mis la class panneau tout au debut 1 probleme de resolu
ensuite
j ai inisialise dans le constructeur de la frame la class panneau jpanel
de cette maniere panneau de = new panneau();
pui j ai mis de.setVisible(true);
mes ca ne marche pas
bizare
ensuite
j ai inisialise dans le constructeur de la frame la class panneau jpanel
de cette maniere panneau de = new panneau();
pui j ai mis de.setVisible(true);
mes ca ne marche pas
bizare
layeures
Messages postés
286
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
22 juin 2018
3
23 sept. 2010 à 17:30
23 sept. 2010 à 17:30
I LOVE YOU MON AMIE varfendell
MERCI MERCI MERCI
ERECA ca marche ouaiHHHHHHHHHHHHHHHHH
merci beaucoup de ton aide c est rare les personne qui prend la peine d aidez les autres
merci
MERCI MERCI MERCI
ERECA ca marche ouaiHHHHHHHHHHHHHHHHH
merci beaucoup de ton aide c est rare les personne qui prend la peine d aidez les autres
merci
varfendell
Messages postés
3256
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
704
24 sept. 2010 à 09:05
24 sept. 2010 à 09:05
et bien, une bonne chose de faite :)
Salut ce code fonctionne a merveille
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* @author Tu mettras ton nom
*
*/
public class ImageFond extends JFrame {
private Container c;
private JPanel imagePanel;
private String filePath;
public ImageFond(String filePath) {
super("Image de fond");
this.filePath = filePath;
initialize();
}
private void initialize() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
c = getContentPane();
imagePanel = new JPanel() {
public void paint(Graphics g) {
try {
BufferedImage image = ImageIO.read(new File(filePath));
g.drawImage(image, 0, 0, null);
} catch (IOException e) {
e.printStackTrace();
}
}
};
imagePanel.setPreferredSize(new Dimension(640, 480));
c.add(imagePanel);
}
public static void main(String[] args) {
String imagePath = "C:\\ichigofirstbankai.jpg";
ImageFond fond = new ImageFond(imagePath);
fond.pack();
fond.setVisible(true);
}
}
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* @author Tu mettras ton nom
*
*/
public class ImageFond extends JFrame {
private Container c;
private JPanel imagePanel;
private String filePath;
public ImageFond(String filePath) {
super("Image de fond");
this.filePath = filePath;
initialize();
}
private void initialize() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
c = getContentPane();
imagePanel = new JPanel() {
public void paint(Graphics g) {
try {
BufferedImage image = ImageIO.read(new File(filePath));
g.drawImage(image, 0, 0, null);
} catch (IOException e) {
e.printStackTrace();
}
}
};
imagePanel.setPreferredSize(new Dimension(640, 480));
c.add(imagePanel);
}
public static void main(String[] args) {
String imagePath = "C:\\ichigofirstbankai.jpg";
ImageFond fond = new ImageFond(imagePath);
fond.pack();
fond.setVisible(true);
}
}