Probleme avec la fenetre et prog java

Bonjour,
j'ai un probleme avec forme new forme il ne l'accepte pas et je ne vois pas pourquoi je vous remercie des lumieres que vous pourrez m'apporter d'avance merci
/*
# Le livre de Java 1er langage
# A. Tasso
# Chapitre 11 : Dessiner des objets
# Section : Le dessin
# Fichier : Fenetre.java
# Class : Fenetre
*/
import java.awt.*;
class Fenetre {
public final static int HT = 300;
public final static int LG = 300;
public static void main(String [] arg) {
Frame F = new Frame();
F.setTitle("Un triangle "); // met le titre
F.setSize(HT, LG); // taille de la fenetre
F.setBackground(Color.gray);
F.add(new forme());
F.setVisible(true); // affiche la fenetre

}
public class forme extends Canvas {
private Color couleur = Color.green;
public forme() {
setBackground(Color.white);
setForeground(couleur);
setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
}
public void paint (Graphics g) {
new Triangle(g);
}

public class Triangle {
private int centreX = Fenetre.HT/2;
private int centreY = Fenetre.LG/2;
private int [] xPoints = {centreX, centreX+10, centreX-10};
private int [] yPoints = {centreY-10, centreY+10, centreY+10};
private int nPoints = 3;
public Triangle(Graphics g) {
g.fillPolygon(xPoints, yPoints, nPoints);
}
}
}
}
Configuration: Windows XP Internet Explorer 7.0

1 réponse

  1. voila j'ai refaire ton travail et le changer un peut:
    import java.awt.*;
    class Fenetre extends Frame
    {
    public final static int HT = 300;
    public final static int LG = 300;
    public Fenetre(String s)
    {
    super(s);

    Frame F = new Frame();
    F.setSize(HT, LG); // taille de la fenetre
    F.setBackground(Color.gray);
    F.add(new forme());
    F.setVisible(true); // affiche la fenetre
    }
    public static void main(String [] arg)
    {
    Fenetre f1=new Fenetre("Un triangle");
    }
    public class forme extends Canvas {
    private Color couleur = Color.green;
    public forme() {
    setBackground(Color.white);
    setForeground(couleur);
    setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
    }
    public void paint (Graphics g) {
    new Triangle(g);
    }

    public class Triangle {
    private int centreX = Fenetre.HT/2;
    private int centreY = Fenetre.LG/2;
    private int [] xPoints = {centreX, centreX+10, centreX-10};
    private int [] yPoints = {centreY-10, centreY+10, centreY+10};
    private int nPoints = 3;
    public Triangle(Graphics g) {
    g.fillPolygon(xPoints, yPoints, nPoints);
    }
    }
    }
    }