Inutqen
Messages postés21Date d'inscriptionmardi 11 août 2009StatutMembreDernière intervention20 juin 2011
-
11 août 2009 à 22:13
Inutqen
Messages postés21Date d'inscriptionmardi 11 août 2009StatutMembreDernière intervention20 juin 2011
-
13 août 2009 à 14:55
Bonjour à tous.
Je me sens obligé de poser ma question dans le topic "Débutant", parce que je la trouve tellement bête qu'elle ne peut être due qu'à une erreur de débutant de ma part.
Voila mon soucis :
J'ai une JFrame dans laquelle se trouve un JPanel, voici le code de ce dernier :
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class Graph extends JPanel
{
public Graph()
{
//Un tas de trucs
}
public Graph(int bbe, float y)
{
//Un tas de trucs
calcul();
}
public void calcul()
{
//Un tas de trucs
validate();
repaint();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// Un tas de trucs
// genre g.drawLine ...
}
}
Je voudrais que mon JPanel soit redessiné à chaque appel de la méthode calcul(), mais ce n'est pas le cas.
La méthode paintComponent n'est appelée qu'une seule fois, lors de la création de la fenetre (JFrame) et du placement de mon JPanel à l'intérieur.
La méthode calcul() est appelée souvent, mais le repaint() ne fait strictement rien.
Kotomine
Messages postés112Date d'inscriptionlundi 29 juin 2009StatutMembreDernière intervention 5 novembre 2009 13 août 2009 à 10:01
Si je me trompe pas, il faut invalider ta form avant de la revalider
Dans une de mes programmes, j'avais fait un panel dynamique qui pouvait contenir un peu n'importe quoi. Une fois l'avoir modifié, je faisais :