Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec la méthode Paint

Cannot make a static reference to the non-static method paint

    26 juin 2021 à 13:10:05

    Bonjour,

    je commence tout juste à toucher aux bibliothèques graphiques en java, et j'ai un problème avec la méthode paint().

    En fait, j'envoie à cette méthode paint, les coordonnées du milieu de ma fenêtre pour qu'elle les utilise, en traçant un point à cet endroit.

    Voici mon code : 

    package com.ari.premiersessais;
    
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    
    public class RepèreOrthogonal {
    	
    	
    	public static void main(String[] args) {
    		
    		JFrame fen = new JFrame();
    		JPanel pan = new JPanel();
    		
    		fen.add(pan);
    		
    		fen.setVisible(true);
    		fen.setLocationRelativeTo(null);
    		fen.setSize(600, 400);
    		fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		fen.setMinimumSize(new Dimension(600, 400));
    
    
                    int x =fen.getSize().width;
    		int y = fen.getSize().height;
    
                    Dimension milieuFen = new Dimension (x/2, y/2);
    		
    		Graphics g = pan.getGraphics();
    		paint(g, milieuFen);
    		
    
    		
    		
    	}
    	
    	public void paint(Graphics g, Dimension milieuFen)
    	{
    		Graphics2D g2D = (Graphics2D) g ;
    		int width = (int)milieu.getWidth();
    		int height = (int)milieu.getHeight();
    		g2D.drawLine(width, height, width, height);
    		
    	}
    
    }
    
    
    
    

    Et j'ai un problème au niveau de l'appel de ma méthode paint() : 

    Cannot make a static reference to the non-static method paint(Graphics, Dimension) from the type RepèreOrthogonal

    Et là Eclipse me propose de changer ma méthode paint() en méthode static. Mais j'y comprend rien parce que je n'ai pas de variable statique dans ma classe.

    Pouvez vous m'éclairer !!! Je bloque sur ce point depuis quelques jours et après pleins de recherches je n'y voit pas plus clair. Merci beaucoup ^^

    -
    Edité par emmanuelopshtein 26 juin 2021 à 13:11:01

    • Partager sur Facebook
    • Partager sur Twitter
      27 juin 2021 à 21:23:30

      Eclipse te dit ça car tu appelles paint() au sein de la méthode main() qui elle même est statique. Les méthodes non statiques doivent par contre être appelées par des instances, genre :

      RepèreOrthogonal repere = new RepèreOrthogonal();
      repere.paint(...);



      • Partager sur Facebook
      • Partager sur Twitter

      Problème avec la méthode Paint

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown