Partage
  • Partager sur Facebook
  • Partager sur Twitter

Souci background Jpanel

L'image en background ne s'affiche pas.

    8 avril 2022 à 17:41:12

    Bonjour,

    J'essaie en java de créer un JPanel avec une image de fond mais je n'arrive pas à faire afficher l'image. J'arrive pourtant à faire des "draw oval".

    Voici la class du JPanel, dans paintComponent quand je fais appelle a drawOval cela fonctionne.

    //Classe permettant de créer une fenetre avec fond et simplifier le code dans les autres classes.
    import javax.swing.*;
    import java.awt.*;
    
    public class FenPanel extends JPanel {
    	private ImageIcon fond;
    	public FenPanel(ImageIcon fond,int larg, int lon){
    		super();
    		this.fond = fond;
    		this.setBounds(0,0,larg,lon);
    		this.setLayout(null);
    	}
    
    	@Override
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            this.fond.paintIcon(this, g, 0, 0);
    	
    
    
        }

    Voici l'appel à mon Jpanel dans ma JFrame :

    FenPanel pan=new FenPanel(new ImageIcon("Images/start.png"),600,400);

     Je ne pense pas que cela vient de du chemin de l'image car quand je passe ma souri dessus, Intelij (mon IDE) m'affiche l'image.

    Auriez-vous une idée ?



    • Partager sur Facebook
    • Partager sur Twitter
      11 avril 2022 à 2:03:40

      Bonsoir un peu tard mais si tu as toujours ton soucis essaie quelque chose comme ça

      import javax.swing.JFrame;
      import javax.swing.JPanel;
      import javax.swing.ImageIcon;
      
      import java.awt.Graphics;
      
      class Test extends JFrame
      {
          public Test()
          {
              super("fenetre de test");
      
              JPanel testPanel = new JPanel(){
                  
                  @Override 
                  public void paintComponent(Graphics g)
                  {
                      super.paintComponent(g);
      
                      g.drawImage(getToolkit().getImage("resources/shapes/line.png"),0,0,this);
                  }
              };
              
              this.add(testPanel);
              this.setSize(400,400);
              this.setDefaultCloseOperation(EXIT_ON_CLOSE);
              this.setVisible(true);
          }
      
          public static void main(String[] args)
          {
              new Test();
          }
      }



      -
      Edité par zvheer 11 avril 2022 à 2:04:34

      • Partager sur Facebook
      • Partager sur Twitter

      Souci background Jpanel

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown