Bonjour.
Je débute en programmation et je développe un shoot'em up en 2D (donc avec des sprites). J'essaie d'utiliser un objet graphics, mais il semble qu'il n'est pas appelé.
Classe_principale.java
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
public class Classe_principale {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//Instanciation de l'objet Fenetre
Fenetre fenetre = new Fenetre();
Panneau pan = new Panneau();
fenetre.setContentPane(pan);
}
}
J'appelle ici la classe Panneau.java qui contient un objet Graphics.
Fenetre.java
¯¯¯¯¯¯¯¯¯¯¯¯
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Fenetre extends JFrame {
//Classe qui créera une fenê tre
Panneau pan = new Panneau();
public Fenetre(){
this.setTitle("Titre de la fenetre");
this.setSize(700, 600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLO
SE);
this.setVisible(true);
this.setLocationRelativeTo(null);
this.setBackground(Color.BLACK);
//J'indique à la fenetre que l'objet pan doit agir sur elle
this.setContentPane(pan);
}
private void animation() {
while(true) {
pan.repaint();
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Tout fonctionne et la fenêtre a un fond noir.
Panneau.java
¯¯¯¯¯¯¯¯¯¯¯¯¯
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Panneau extends JPanel {
//Objet qui dessinera sur la fen tre
public void paintComponent(Graphics g){
System.out.println("Test");
g.fillRect(0, 0, 700, 600);
g.drawString("TEST", 10, 20);
g.setColor(Color.red);
}
}
C'est là qu'il y a un problème. J'ai créé un objet panneau dans Fenetre.java et Classe_principale.java, mais TEST ne s'affiche pas sur la fenêtre et test n'apparaît pas dans la console. J'en ai conclu que l'objet n'est pas appelé et je ne comprends pas pourquoi.
Merci d'avance.