OVH Cloud OVH Cloud

Graphics

4 réponses
Avatar
Romeo
Bonjour,
je suis en train de faire une petite applet avec une balle qui rebondit
lorsqu'elle touche le bord de l'ecran,
Est-ce que quelqu'un connaitrai la taille par défaut de 'écran' lorsque l'on
fait : public void paint(Graphics ecran).
Et auriez vous un conseil pour éviter le clignotement de la balle lors du
repaint (j'ai essayer diverses méthodes mais je n'en ai pas trouvé de
satisfaisante).

Merci d'avance

4 réponses

Avatar
Arnaud Roger
"Romeo" a écrit dans le message de
news:bvgu36$vth$
Bonjour,
je suis en train de faire une petite applet avec une balle qui rebondit
lorsqu'elle touche le bord de l'ecran,
Est-ce que quelqu'un connaitrai la taille par défaut de 'écran' lorsque
l'on

fait : public void paint(Graphics ecran).
l'objet proprietaire de la methode paint doit avoir ce genre d'information


Et auriez vous un conseil pour éviter le clignotement de la balle lors du
repaint (j'ai essayer diverses méthodes mais je n'en ai pas trouvé de
satisfaisante).
le double buffering, dessiner d'abords dans une image memoire, puis

dessiner l'image dans l'ecran.

Arnaud R.

Avatar
Romeo
"Arnaud Roger" a écrit dans le message de news:
401c0a60$0$2978$
Est-ce que quelqu'un connaitrai la taille par défaut de 'écran' lorsque
l'on

fait : public void paint(Graphics ecran).
l'objet proprietaire de la methode paint doit avoir ce genre d'information

Je n'en doute pas, mais comment fait t'on ? J'ai essayé avec

getSize().height et getSize().width mais ca ne marche pas .

Avatar
oliv
Romeo wrote:
J'ai essayé avec
getSize().height et getSize().width mais ca ne marche pas.
Qu'est-ce qui "ne marche pas" ?


Le message brut de javac accompagné d'un court extrait de code
pertinent serait sans doute préférable à cette constatation :-)

Par exemple, as-tu bien fait les imports nécessaires ?
L'appel de getSize() est-il fait dans une méthode d'un Component ?
...

Mini exemple Q&D qui devrait marcher :

import java.awt.*;
import java.applet.Applet;

public class Mini extends Applet {

public static void main(String[] args) {
Frame f = new Frame("-");

Mini applet = new Mini();
applet.init();
applet.start();

f.add("Center", applet);
f.setSize(500, 200);
f.show();
}

public Mini() {
System.out.println("cons : " + getSize().width + " " +
getSize().height);
}

public void start() {
super.start();
System.out.println("start: " + getSize().width + " " +
getSize().height);
}

public void paint(Graphics g) {
System.out.println("paint: " + getSize().width + " " +
getSize().height);
}
}

--
oliv

Avatar
Romeo
En faite avec System.out.println("cons : " + getSize().width + " " +
getSize().height);
je ne voyai pas ce que ça affichai, je sui donc passé par
ecran.drawString("paint: " + getSize().width + " " +
getSize().height,20,40);
et la il m'affiche paint: 975 623.

Merci pour vos conseils

"oliv" a écrit dans le message de news:
401c4ee4$0$18213$
Romeo wrote:
J'ai essayé avec
getSize().height et getSize().width mais ca ne marche pas.
Qu'est-ce qui "ne marche pas" ?


Le message brut de javac accompagné d'un court extrait de code
pertinent serait sans doute préférable à cette constatation :-)

Par exemple, as-tu bien fait les imports nécessaires ?
L'appel de getSize() est-il fait dans une méthode d'un Component ?
...

Mini exemple Q&D qui devrait marcher :

import java.awt.*;
import java.applet.Applet;

public class Mini extends Applet {

public static void main(String[] args) {
Frame f = new Frame("-");

Mini applet = new Mini();
applet.init();
applet.start();

f.add("Center", applet);
f.setSize(500, 200);
f.show();
}

public Mini() {
System.out.println("cons : " + getSize().width + " " +
getSize().height);
}

public void start() {
super.start();
System.out.println("start: " + getSize().width + " " +
getSize().height);
}

public void paint(Graphics g) {
System.out.println("paint: " + getSize().width + " " +
getSize().height);
}
}

--
oliv