Rechercher : dans
Par :

[java]animer un rectangle avec Thread avec

zangalni, le 22 mai 2009 à 11:58:03 
 Signaler ce message aux modérateurs

Bonjour,

j'essaye d'animer (à l'aide du Thread) un rectangle qui commence d'une ligne de mon tableau qui descend jusqu'à atteindre une valeur de Y, aprés qui bouge vers la gauche jusq'à atteindre une nouvelle position et aprés il remonte...en bref je veux assimiler le faite que les valeur de deux cases change...
voici le code de ma calsse Fenetre


 
import java.awt.BorderLayout;
import java.awt.Color;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
 
 
 
 
	public class Fenetre extends JFrame{
		 
        private Panneau pan = new Panneau();
      JTable table=new JTable();
    private JPanel container = new JPanel();
 
 
    private int y ;
    private Thread t;
    
    public Fenetre(){
           
            this.setTitle("Animation");
            this.setSize(300, 300);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setLocationRelativeTo(null);
 
            container.setBackground(Color.white);
            container.setLayout(new BorderLayout());
            container.add(pan, BorderLayout.SOUTH);
            
         
            
            JPanel south = new JPanel();
 
        	String[] columnNames = {"","44","55","12","42","94","18","06","67"};
        	Object[][] data = {
        	 {"i=0","      44","      55","      12","      42","      94","      18","      06","     67"},
        		};
        	
           table = new JTable(data, columnNames);
         south.add(table);
          
            container.add(south, BorderLayout.NORTH);
           t = new Thread(new PlayAnimation());
    		t.start();
            this.setContentPane(container);
            this.setVisible(true);
                        
    }
        
        private void go(){
           int x=pan.getPosX();
                y = pan.getPosY();
        
        while(y<100){         
            	pan.setPosY(++y);
                pan.repaint();
 if(y==90){while(x>pan.getPosX()){
	 
	 pan.setPosX(--x);
 pan.repaint();}
 while(y!=0){
	 pan.setPosY(--y);
	 pan.repaint();}
 }
            try {
                    Thread.sleep(3);
            } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
            }
        }       
        }
 
     
        
        class PlayAnimation implements Runnable{
 
                @Override
                public void run() {
                        go();                   
                }               
        }    }
 



et celui de mon panneau

import java.awt.Color;
import java.awt.Graphics;
 
import javax.swing.JPanel;
 
 
	@SuppressWarnings("serial")
	public class Panneau extends JPanel {
		private int X=this.getHeight()/9;
		private int Y=0;
		
		 
		
		 
 
		public void paintComponent(Graphics g){
			g.setColor(Color.white);
	        g.fillRect(0, 0, this.getWidth(), this.getHeight());
	    	g.drawRect(X*70,Y,X,10);
			g.setColor(Color.pink);
			g.fillRect(X*70,Y,X,10);
			g.drawString("6", X/4,5 );
	   
			
			}
 
	public int getPosX(){
		return X;
	}
	public int getPosY(){
		return Y;
	}
	public void setPosX(int x){
		this.X=x;
	}
	public void setPosY(int y){
		this.Y=y;
	}
	}
 



j'arrive à faire visulaiser la 2 eme ligne de mon tableau , la premiere ne s'affiche pas , je ne sais pourquoi..
pour le rectangle je voi afficher un petit rectangle tout en bas de ma fenetre,sans aucune animation..
merci pour votre aide
Configuration: Windows Vista
Firefox 3.0.10

Meilleures réponses pour « [java]animer un rectangle avec Thread avec » dans :
Créer une photo avec globe animé avec Gimp VoirSi ce n'est pas déjà fait, téléchargez GIMP, installez le et lancez le. Création de l'image Tester l'animation Enregistrer l'animation Création de l'image Une fois le logiciel lancé, ouvrez le menu fichier puis cliquez sur "ouvrir" et...
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
Installer Java sous Ubuntu VoirPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ...
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
Télécharger Ulead GIF Animator VoirPour votre site Web ou vos présentations PowerPoint, vous avez besoin de GIFs animés pour égayer vos pages. Ulead GIF Animator est le programme le plus abouti et le plus abordable en terme de création de GIF animé. L'application permet de créer une...
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
J2EE - Java 2 Enterprise Edition VoirIntroduction au Java Framework Le «Java Framework» (Java 2 Platform) est composé de trois éditions, destinées à des usages différents : J2ME : Java 2 Micro Edition est prévu pour le développement d'applications embarquées, notamment sur des...