IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

probleme pour dessiner


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 165
    Par défaut probleme pour dessiner
    hello,

    voila, j'ai fait une applet. j'ai egalement fait une JPanel et dans cette JPanel je dessine un truc tout bete...

    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
    ublic class Simulation extends JPanel{
     int i=0;
    	public Simulation(){
     
    	}
    	public void init(){
    		setSize(50,50);
    		setBackground(Color.blue);
    		repaint();
    		validate();
    	}
     
    	public void paint(Graphics g){
    		super.paint(g);
    		g.setColor(Color.black);
    		g.drawRect(0,0, 20+i, 20+i);
     
    	}
    }
    ensuite j'aimerais que dans mon applet, lorsque j'appuie sur un bouton (ou autre, une action quoi), je change la valeu de i et j'aimerais que mon dessin s'update..
    voila le code dans mon applet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    sim=new Simulation();
    ...
    for(int k=0;k<=20;k++){
    				pause(20);
    				sim.i=k;
     
    			}
    merci pour vos tuyaux

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    essaye ça :
    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
    public class Simulation extends JPanel{
     int i=0;
    	public Simulation(){
     
    	}
    	public void init(){
    		setSize(50,50);
    		setBackground(Color.blue);
    		repaint();
    		validate();
    	}
     
    	public void paint(Graphics g){
    		super.paint(g);
    		g.setColor(Color.black);
    		g.drawRect(0,0, i, i);
     
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    sim=new Simulation();
    ...
    for(int k=0;k<=20;k++){
    	pause(20);
    	sim.i=k;
    	sim.refresh();		
    }

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 165
    Par défaut
    hummm

    moi il n'accepte pas mon refresh... il me dit que la fonction refresh n'existe pas...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    Citation Envoyé par jayjay.f
    hummm

    moi il n'accepte pas mon refresh... il me dit que la fonction refresh n'existe pas...
    oups pas fait attention au fait que ça étendait un JPanel.
    essaye repaint().

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 165
    Par défaut
    cela ne fait rien...

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    tu peux essayer de faire un refresh sur la frame ou le composant qui contient le panel si il y a en a un.

    sinon sur les JPanel il y a une méthode getGraphics() et la tu peux redessiner directement à chaque fois ce qui est plus propre.
    par exemple

    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
    class Simulation extends JPanel {
    	int i = 0;
     
    	public Simulation() {
     
    	}
     
    	public void init() {
    		setSize(50, 50);
    		setBackground(Color.blue);
    		repaint();
    		validate();
    	}
     
    	public void paint(Graphics g) {
    		super.paint(g);
    		g.setColor(Color.black);
    		g.drawRect(0, 0, 20 + i, 20 + i);
    		repaint();
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sim=new Simulation();
    ...
    for(int k=0;k<=20;k++){
    	pause(20);
    	sim.i=k;
    	sim.repaint();		
    }
    edit : la ça devrait marcher il faut rajouter un repaint() dans ta méthode paint

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit probleme pour dessiner un tableau
    Par fleurrouge dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/12/2012, 11h22
  2. [débutant]probleme pour dessiner des shapes
    Par pingoui dans le forum 2D
    Réponses: 8
    Dernier message: 27/08/2007, 20h44
  3. Probleme pour dessiner
    Par DrTank dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 19/05/2007, 12h53
  4. probleme pour dessiner dans un JPanel
    Par L4BiN dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 02/08/2006, 15h01
  5. [debutant] Probleme pour dessiner un simple cube
    Par scorpiwolf dans le forum DirectX
    Réponses: 6
    Dernier message: 02/07/2003, 20h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo