Java : méthode painComponent jamais appelée
velociraptor
-
velociraptor -
velociraptor -
Bonjour,
Je sollicite votre aide car je suis légèrement bloqué sur un bout de code java
Voilà, j'ai un JPanel tout ce qu'il y a de plus normal, j'y ajoute des données dans un gridLayout et j'y met une image de fond. Le problème est au niveau de l'image de fond : la méthode paintComponent qui est sensée me l'ajouter n'est jamais exécuté. J'ai beau essayé de rajouter des repaint(), des update(), updateUI() etc etc, rien n'y fait ! Et j'aimerais assez comprendre pourquoi car j'utilise ça dans une dizaine d'autres programmes et ça marche !
J'ai aussi cherché à utiliser une méthode paint() à la place, même résultat...
Voilà mon bout de code :
Un grand merci d'avance à qui m'aidera à comprendre !
Bonne journée,
Alexandre
Je sollicite votre aide car je suis légèrement bloqué sur un bout de code java
Voilà, j'ai un JPanel tout ce qu'il y a de plus normal, j'y ajoute des données dans un gridLayout et j'y met une image de fond. Le problème est au niveau de l'image de fond : la méthode paintComponent qui est sensée me l'ajouter n'est jamais exécuté. J'ai beau essayé de rajouter des repaint(), des update(), updateUI() etc etc, rien n'y fait ! Et j'aimerais assez comprendre pourquoi car j'utilise ça dans une dizaine d'autres programmes et ça marche !
J'ai aussi cherché à utiliser une méthode paint() à la place, même résultat...
Voilà mon bout de code :
import javax.swing.*; import java.awt.*; public class AffichagePageCarnet extends JPanel { private static final long serialVersionUID = 1L; private JPanel pane; public AffichagePageCarnet() { pane = new JPanel(); GridLayout layout = new GridLayout(2, 8); pane.setLayout(layout); // les 16 libellés se chargent bien... for(int i = 0; i<16; i++) { pane.add(new JLabel("Test")); } } // retourne le JPanel que je rajoute au programme global // avec un simple add("Center", pageCree) public JPanel creerPageIndividuelle() { pane.repaint(); return this.pane; } // voilà la madame qui veut pas être exécutée // bon moi aussi j'aimerais pas, mais c'est pas une raison ! public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; // ligne qui me fait dire qu'il n'y a pas d'exécution // car elle ne s'est jamais affichée dans ma console... System.out.println(getClass().getResource("/images/parchemin.png")); ImageIcon ic = new ImageIcon(getClass().getResource("/images/parchemin.png")); Image fond = ic.getImage(); g2.drawImage(fond,0,0,1024,680,this); } }
Un grand merci d'avance à qui m'aidera à comprendre !
Bonne journée,
Alexandre
A voir également:
- Java : méthode painComponent jamais appelée
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
Salut!
Essaye ceci:
;-)
HackTrack
Essaye ceci:
import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; public class AffichagePageCarnet extends JPanel { private static final long serialVersionUID = 1L; public AffichagePageCarnet() { setLayout(new GridLayout(2, 8)); setPreferredSize(new Dimension(1024, 768)); for (int i = 0; i < 16; i++) { JLabel label = new JLabel("Test"); add(label); } } public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; System.out.println(getClass().getResource("/images/parchemin.png")); ImageIcon ic = new ImageIcon(getClass().getResource( "/images/parchemin.png")); Image fond = ic.getImage(); g2.drawImage(fond, 0, 0, 1024, 680, this); } }
;-)
HackTrack