Bonjour,
J'ai une Fenetre qui contient 4 Panel, dans un de ceux-ci je souhaite afficher une image grace à une classe Imag, mais l'image ne s'affiche pas, j'ai l'impression que la méthode paintComponent de la classe Imag n'est pas exécutée, pourtant je croyais que cette méthode était appelée automatiquement par Java.
mon code:
package javaapplication6;
import java.awt.Image;
import javax.swing.JPanel;
public class Fenetre extends javax.swing.JFrame {
public Fenetre() {
initComponents();
Imag img=new Imag(this.pannelImage);
}
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
pannelImage = new java.awt.Panel();
panelTrajet = new java.awt.Panel();
panelHistorique = new java.awt.Panel();
panelGestion = new java.awt.Panel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
pannelImage.setBackground(new java.awt.Color(153, 153, 255));
org.jdesktop.layout.GroupLayout pannelImageLayout = new org.jdesktop.layout.GroupLayout(pannelImage);
pannelImage.setLayout(pannelImageLayout);
pannelImageLayout.setHorizontalGroup(
pannelImageLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 366, Short.MAX_VALUE)
);
pannelImageLayout.setVerticalGroup(
pannelImageLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 262, Short.MAX_VALUE)
);
panelTrajet.setBackground(new java.awt.Color(255, 102, 102));
org.jdesktop.layout.GroupLayout panelTrajetLayout = new org.jdesktop.layout.GroupLayout(panelTrajet);
panelTrajet.setLayout(panelTrajetLayout);
panelTrajetLayout.setHorizontalGroup(
panelTrajetLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 416, Short.MAX_VALUE)
);
panelTrajetLayout.setVerticalGroup(
panelTrajetLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 262, Short.MAX_VALUE)
);
panelHistorique.setBackground(new java.awt.Color(255, 255, 51));
org.jdesktop.layout.GroupLayout panelHistoriqueLayout = new org.jdesktop.layout.GroupLayout(panelHistorique);
panelHistorique.setLayout(panelHistoriqueLayout);
panelHistoriqueLayout.setHorizontalGroup(
panelHistoriqueLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 366, Short.MAX_VALUE)
);
panelHistoriqueLayout.setVerticalGroup(
panelHistoriqueLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 296, Short.MAX_VALUE)
);
panelGestion.setBackground(new java.awt.Color(0, 255, 0));
org.jdesktop.layout.GroupLayout panelGestionLayout = new org.jdesktop.layout.GroupLayout(panelGestion);
panelGestion.setLayout(panelGestionLayout);
panelGestionLayout.setHorizontalGroup(
panelGestionLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 416, Short.MAX_VALUE)
);
panelGestionLayout.setVerticalGroup(
panelGestionLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 296, Short.MAX_VALUE)
);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING, panelHistorique, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(org.jdesktop.layout.GroupLayout.LEADING, pannelImage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(panelGestion, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(panelTrajet, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
.add(org.jdesktop.layout.GroupLayout.LEADING, panelTrajet, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(pannelImage, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(panelGestion, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(panelHistorique, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-800)/2, (screenSize.height-600)/2, 800, 600);
}// </editor-fold>
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Fenetre().setVisible(true);
}
});
}
// Variables declaration - do not modify
private java.awt.Panel panelGestion;
private java.awt.Panel panelHistorique;
private java.awt.Panel panelTrajet;
private java.awt.Panel pannelImage;
// End of variables declaration
}
package javaapplication6;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Panel;
import java.awt.Toolkit;
import java.io.File;
import javax.swing.JPanel;
public class Imag {
File img;
private Panel parent;
public Imag(Panel parent) {
this.parent=parent;
}
public void paintComponent(Graphics g) {
Image image;
String nomImg;
img=new File("Q:\\photos\\Canard1.jpg");
String name=img.getName();
image=Toolkit.getDefaultToolkit().getImage(name) ;
g.drawImage(image, 10,10,50,50,parent);
}}
Afficher la suite