Karibou95
Messages postés13Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention17 octobre 2008
-
4 oct. 2008 à 10:49
Karibou95
Messages postés13Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention17 octobre 2008
-
4 oct. 2008 à 12:17
Bonjour à tous :)
Voici mon probleme :
J'ai une class Repere_Canavas dans laquelle j'ai la méthode paint, jusqu'a la tout va bien mon canvas s'affiche convenablement et je peux crée des rectangle etc....
A present j'ai une class Bouton_Rectangle qui implements ActionListener, et
grâce à cette class je voudrais que lorque l'on appuis sur mon bouton Bouton_Rectangle un rectangle apparaisse sur mon canvas.
Mais voila il y'a un probleme :'( dans ma méthode paint de la classe Repere_canvas j'ai graphics g donc quand je veux ajouter un rectangle il me suffit de faire g.fillrect(int,int,int,int) mais je ne peux pas faire appelle à g dans ma class Bouton_Rectangle :'(
comment faire ?
P.S : j'ai essayé de faire appelle au constructeur de ma class Repere_Canvas dans ma class Bouton_Repere comme ceci :
Repere_Canvas w = new Repere_Canvas;
w.fillRect(int,int,int,int);
w.setColor(Color.RED);
w.repaint();
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 4 oct. 2008 à 12:11
Nous pouvons dessiner sur une image et dessiner cette image dans paint. Dans l'exemple suivant, l'objet "Repere_Canvas" est passé au bouton dans son constructeur. "Repere_Canvas" a une méthode getG2d() qui retourne l'objet Graphics2D de l'image. Alors le bouton dessine simplement sur cet objet Graphics2D et appel repaint() pour l'objet "Repere_Canvas".
import java.awt.*;
import java.awt.event.*;
/*
***************************************************************
* Sample program which demonstrates the basic paint
* callback mechanism in the AWT.
***************************************************************
*/
import java.awt.image.BufferedImage;
public class PaintDemo {
public static void main(String[] args) {
Frame f = new Frame("PaintDemo");
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Repere_Canvas panel = new Repere_Canvas(Color.yellow);
f.add(panel, BorderLayout.CENTER);
Bouton_Rectangle bt = new Bouton_Rectangle(panel);
f.add(bt, BorderLayout.NORTH);
f.pack();
f.setVisible(true);
}
}
/**
* Note: Canvas is a heavyweight superclass, which makes
* Repere_Canvas also heavyweight. To convert this class to
* a lightweight, change "extends Canvas" to "extends Component".
*/
class Repere_Canvas extends Canvas {