Bjr,

Premieremt je precise que le message est long MAIS je pense que la question est FACILE pour un amateur en JAVA(moi je ss debutant).

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 du tuto, 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:

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
 
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 :

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
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.