java JFrame graphiques

J'ai le code simple suivant dans une JFrame constructeur

    super(name);
    setBounds(0,0,1100,750);
    setLayout(null);


    setVisible(true);

    g = this.getGraphics();
    int[] x =new int[]{65,  122,  77,  20, };
    int[] y =new int[]{226,  258, 341,  310};
    g.setColor(Color.RED);  
    g.drawPolygon (x, y, x.length);
    System.out.println(g);

- Je obtenir à la sortie de la console:

sun.java2d.SunGraphics2D[font=java.awt.Font[family=Dialog,name=Dialog,style=plain,size=12],color=java.awt.Color[r=255,g=0,b=0]]

Mais pas de rouge polygone dessiné sur JFrame mais juste le vide JFrame.

Pourquoi ??

Ce n'est pas la bonne façon de dessiner sur une JFrame. Vous devez sous-classe Composite et remplacer paintComponent(Graphics), et de faire de la peinture sur l'objet graphique y sont passés.

OriginalL'auteur aditya parikh | 2012-10-25