Bonjour,
Je suis en train de commencer a faire un petit jeu et j'ai un petit problème
Donc pour faire simple, j'ai un JFrame divisé en deux :
un JPanel pour poser mes boutons
et un autre gamePanel qui dérive de JPanel pour pouvoir surcharger la méthode paint
le problème étant que lorsque ma fenêtre est créée, repaint est bien appelée sur le gamePanel mais celui ci n'affiche rien. par contre si je deplace la fenetre hors de l'écran, ou que je la réduit, ou que je met un actionListener sur un bouton qui va appeler le repaint du gamePanel, ca marche et mon image est affichée !
voici le code ...
Code :
- public class GraphicalJeu extends JFrame {
- private JButton start=new JButton("Start" );
- private JButton quit=new JButton("Reset" );
- private JButton reset=new JButton("Quit" );
- private JPanel panneau = new JPanel();
- private GamePanel gamePanel = null;
- private JPanel buttonPanel = new JPanel();
- private JPanel lifePanel = new JPanel();
- private JLabel gommeLabel = new JLabel("Nombre de gommes : X" );
- public GraphicalJeu(String arg0,Jeu jeu) {
- super(arg0);
- gamePanel = new GamePanel(jeu);
- // initialisation fenêtre
- setBounds(100,100,800,600);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-
- // initialisation panneau global
- // j'ai virer les gridbaglayout ...
- ...
- panneau.setLayout(grillePanneau);
- ...
- panneau.add(gamePanel);
- ...
- panneau.add(buttonPanel);
-
- ...
- buttonPanel.setLayout(grilleButtonPanneau);
- ...
- buttonPanel.add(start);
- ...
- buttonPanel.add(reset);
- ...
- buttonPanel.add(quit);
- ...
- buttonPanel.add(gommeLabel);
- ...
- buttonPanel.add(lifePanel);
- ...
- setContentPane(panneau);
- setVisible(true);
- }
- }
|
Code :
- public class GamePanel extends JPanel {
- public void paint(Graphics g)
- {
- Image imagePlace = Toolkit.getDefaultToolkit().getImage("placevide.jpg" );
- g.drawImage(imagePlace,100,100,null);
- }
- }
|
il faut noter que je vais bien entendu pas charger l'image a chaque fois, mais c'est juste pour le test ...
Si quelqu'un avait une idée ... doit y avoir un truc que j'ai pas fait correctement ...
petite précision : Java 1.5
Message édité par fucky_fuck le 03-05-2005 à 18:21:11