Probleme programmation en JAVA. Aide svp!!

Fermé
*Pif_Paf_Pouf* Messages postés 3 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 9 avril 2014 - Modifié par *Pif_Paf_Pouf* le 9/04/2014 à 12:09
*Pif_Paf_Pouf* Messages postés 3 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 9 avril 2014 - 9 avril 2014 à 12:40
Bjr,

Je suis un debutant en JAVA et j'essaye de m'entrainer,en creant ma propre animation,en un peu plus compliquer que ce qui est fait ds un tuto.La principale difference avec les exemples ds les chapitres c'est que j'essaye de remplacer le cercle rouge par une image.

Mais,j'ai une demande de creer une methode "getWidth();" ds ma classe Test01_panneau.

Je pense avoir compris qu'on en a besoin pour definir qd la boucle "for" s'arrete(cad qu'on arrete des l'anim une foi que le "i" devient trop grd et depasse de l'ecran).

Voici mes classes:

classe Test01_Fenetre :
package Test01;
 
import java.awt.Component;
 
import javax.swing.JFrame;
 
 
public class Test01_Fenetre extends JFrame {
     
 
    public static void main(String[] args) {
            new Test01_Fenetre();
          }
     
     
     
    public Test01_Fenetre(){
         
        /*PARTIE I*/
        /*I/A/Creation d'une nouvelle fenetre*/
        JFrame fenetre=new JFrame();
         
        /*I/B/Apparence de la fenetre */
        fenetre.setTitle("Un petit jeux!");//nom
        fenetre.setSize(500, 500);//taille
        fenetre.setLocationRelativeTo(null);//positionnemt de la fenetre sur l'ecran.
        fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//definit qd le programme s'arrete
        fenetre.setVisible(true);//rendre visible la fenetre
         
        /*Partie II*/
        go_01();
         
    }
         
    private Test01_Panneau pan=new Test01_Panneau();
     
        /*Partie II*/
        /*I/A/Creation de la premiere fct d'animation*/
        private void go_01(){
            for (int i=-1500;i<pan.getWidth();i++){
            /*var;Permettent de recuperer les coordonnees de ou se trouve l'img*/
                int x=pan.getPosX();
                int y=pan.getPosY();
            /*on incremente*/
                x++;
                y++;
            /*On reinitialise les nouvelles positions de "x" et"y"*/
                pan.setPosX(x);
                pan.setPosY(y);
            try {
            Thread.sleep(100);//temps d'attente avant le declenchemt d'une nouvelle boucle
            } catch (InterruptedException e) {
            e.printStackTrace();
                  }
            }
        }
     
         
    }


et voici la classe Test01_Panneau :
package Test01;
 
import java.awt.Dimension;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
 
public class Test01_Panneau {
     
     
     
    /*II/A/*/
    private int posX=-1500;
    private int posY=-1500;
    /*II/B/la boule*/
    public void go_01(Image img01){
    try{
        img01=ImageIO.read(new File("ImgTest01.png"));
    }catch (IOException e) {
          e.printStackTrace();
        }               
    }
     
    /*III/A/Recuperation des donnees de la boule*/
    /*Recup des donnees X*/
    public int getPosX(){
        return posX;
    }
    /*Recup des donnees Y*/
    public int getPosY(){
        return posY;
    }
    /*III/B/Actualisation des donnees recuperees*/
    /*Pour X*/
    public void setPosX(int posX ){
        this.posX=posX;
    }
    /*Pour Y*/
    public void setPosY(int posY){
        this.posY=posY;
    }



Donc voila commt creer une methode "getWidth()" qui connait automatiquemt la'abscisse max de la fenetre,et ce ci mm si on modifie la taille de cette derniere.

REM:

De plus j'ai remarque que mm si je mettais la largeur maximale de mon ecran en px la fenetre s'ouvrait correctemt etc...aucun probleme.Mais l'anim ne se lancait pas.


Merci de votre aide.

PS:J'ai laisse les commentaires mais,n'y faites pas attention.
A voir également:

2 réponses

*Pif_Paf_Pouf* Messages postés 3 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 9 avril 2014
9 avril 2014 à 12:09
J'avais bien insere le code,je ne comprends pas pk il ne s'affiche pas correctemt,dsl.
0
*Pif_Paf_Pouf* Messages postés 3 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 9 avril 2014
9 avril 2014 à 12:40
En resume:
Voila ma question:

"commt creer une methode "getWidth()" qui connait automatiquemt l'abscisse maximum de ma fenetre,et ce ci mm si on modifie la taille de cette derniere?"

et je réécris ma remarque:

"De plus j'ai remarque que mm si je mettais la largeur maximale de mon ecran en px la fenetre s'ouvrait correctemt etc...aucun probleme.Mais l'anim ne se lance pas."

->Tu vas me dire c'est normal car "i" c'est le nbre de tour de boucle et pas ton abscisse!Ouaip,alors ca entraine une deuxieme question comment donner a une variable que des coordonees d'abscisses.(si je ne me trompe pas)

voila en esperant que ca vs aides a y voir plus clair.
0