Afficher un graph2D

Résolu
Belette32 Messages postés 57 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 22 novembre 2007 - 19 déc. 2005 à 09:48
morphorpse Messages postés 40 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 8 septembre 2006 - 19 déc. 2005 à 14:01
slt, je suis en train de realiser un programme qui redessine une pièce dans une fenetre. J'aimerais que le graph ne s'affiche que lorsque j'appelle la fonction affich(). Le probleme est que je n'arrive pas a trouver la commande qui me permette d'afficher le graph. J'ai beau chercher, je n'arrive pas a trouver d'exemple comprehensible pour un debutant comme moi. Voici le code :

class Graph extends JPanel
{
int x1,y1;
int x2,y2;
int angla,anglor;

BufferedImage im = new BufferedImage( 100, 100, BufferedImage.TYPE_INT_RGB);
Graphics g = im.getGraphics();


void dessinligne(int x1,int y1,int x2,int y2)
{
g.drawLine(x1,y1,x2,y2);
}

void dessinarc(int x1,int y1,int x2,int y2,int anglor,int angla)
{
g.drawArc(x1,y1, x2, y2, anglor, angla);
}

void dessincercle(int x1,int y1,int x2,int y2,int anglor,int angla)
{
g.drawArc(x1,y1, x2, y2, anglor, angla);
}

void Affich()
{
Toolkit TK=Toolkit.getDefaultToolkit();
Dimension tailleEcran=TK.getScreenSize();
int LEcran=tailleEcran.width;
int HEcran=tailleEcran.height;


JFrame f=new JFrame("ConePlan2D");
f.setSize(LEcran/5,HEcran/5);
f.setLocation(LEcran*1/6,HEcran*4/10);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setContentPane(new Graph());
f.setBackground(Color.yellow);

//f.add(g); <= VOILA LE PROBLEME
f.setVisible(true);
}

}

merci d'avance, Belette 32

2 réponses

morphorpse Messages postés 40 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 8 septembre 2006 1
19 déc. 2005 à 14:01
Bonjour, je pense que le probleme c que tu peux pas ajouter un graphics
mais plutot mettre une methode de dessin comme paint() dans ton
JPanel.Tu n'auras plus besoin d'utiliser "f.setContentPane.(new
Graphc())".


Il faudrait que tu utilises la méthode



public void paint(Graphics g)

{

g.drawLine(int x1, inty1, intx2,int y2);

}

On appelle cette méthode avec repaint();



Elle est disponible dans l'API va te renseigner la dessus.

Voilà si t'as besoin d'exemple signales le moi je t'en donnerai un

Bon courage


Morphorpse
3
Belette32 Messages postés 57 Date d'inscription mercredi 14 septembre 2005 Statut Membre Dernière intervention 22 novembre 2007
19 déc. 2005 à 10:12
re slt. J'ai remplacer f.setVisible(true); par f.paintComponents(g); . Le probleme est que la fenetre s'ouvre, mais ne m'affiche rien. Le fond reste gris au lieu d'etre jaune. Mais, quand je bouge la fenetre, le fond clignote e jaune.

Belette32
0
Rejoignez-nous