A voir également:
- Rafraichissement Infini JAVA
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Code gta ps2 vie infini ✓ - Forum Jeux vidéo
- Jeux java itel 5360 ✓ - Forum Jeux vidéo
4 réponses
Hmm, c'est bizarre ça.
En tout cas, le repaint() dansla méthode paint, c'est clairement ça qui fait boucler ton programme (etant donné que repaint() appelle en tour paint avec en parametre l'objet graphique associé à la fenêtre).
Comment affiches-tu ta fenêtre dans le programme principal ? Au pire, essayes, juste après avoir créé et rendu visible ta fenêtre, de faire un repaint() dessus. Normalement, elle devrait bien s'afficher.
(à ce propos, je te conseille, dans ton constructeur, d'ajouter
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
ce qui affiche ta fenêtre dès la création de l'objet et signale que le programme doit se terminer dès qu'on ferme cette fenêtre. Ca évite d'avoir à le faire à coté...)
En tout cas, le repaint() dansla méthode paint, c'est clairement ça qui fait boucler ton programme (etant donné que repaint() appelle en tour paint avec en parametre l'objet graphique associé à la fenêtre).
Comment affiches-tu ta fenêtre dans le programme principal ? Au pire, essayes, juste après avoir créé et rendu visible ta fenêtre, de faire un repaint() dessus. Normalement, elle devrait bien s'afficher.
(à ce propos, je te conseille, dans ton constructeur, d'ajouter
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
ce qui affiche ta fenêtre dès la création de l'objet et signale que le programme doit se terminer dès qu'on ferme cette fenêtre. Ca évite d'avoir à le faire à coté...)
Merci de ton aide :) Voici le code de ma classe Frame :
package quizz;
import java.awt.Dimension;
import java.awt.Panel;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Frame1 extends JFrame {
private Plate Plate1 = new Plate();
public Frame1() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().setLayout( null );
this.setSize(new Dimension(536, 372));
Plate1.setBounds(new Rectangle(0, 0, 535, 345));
this.getContentPane().add(Plate1, null);
}
}
package quizz;
import java.awt.Dimension;
import java.awt.Panel;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Frame1 extends JFrame {
private Plate Plate1 = new Plate();
public Frame1() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().setLayout( null );
this.setSize(new Dimension(536, 372));
Plate1.setBounds(new Rectangle(0, 0, 535, 345));
this.getContentPane().add(Plate1, null);
}
}
Hmmm, dans jbInit, rajoutes
this.setVisible(true);
this.repaint();
et dis-moi si ça affiche quelque chose (en virant le repaint dnas le paint de ton JPanel).
this.setVisible(true);
this.repaint();
et dis-moi si ça affiche quelque chose (en virant le repaint dnas le paint de ton JPanel).
Hmmm, bizarre...
J'ai essayé chez moi. N'ayant pas tes images, il ne peut rien m'afficher, mais en faisant un System.out.println dans la méthode paint du jpanel, on voit qu'elle est bien appelée... Donc ca devrait fonctionner.
Ce que je ne comprends pas, c'est pourquoi ca fonctionne quand tu rajoutes le repaint() dans la méthode paint du jpanel... c'est franchement bizarre...
J'ai essayé chez moi. N'ayant pas tes images, il ne peut rien m'afficher, mais en faisant un System.out.println dans la méthode paint du jpanel, on voit qu'elle est bien appelée... Donc ca devrait fonctionner.
Ce que je ne comprends pas, c'est pourquoi ca fonctionne quand tu rajoutes le repaint() dans la méthode paint du jpanel... c'est franchement bizarre...
11 mars 2009 à 22:48