steuba | Salut a tous,
Voila mon prob, j ai une classe carres qui est une applet qui gere les differents composants graphiques que j ai l intention de placer , et une classe canvas qui est appeler par la classe carre pour occuper un de ces composants...
La classe Canvas est un echiquier et j essaye maintenant de superposer une piece par dessus cet echiquier mais je n y arrive pas.
Le probleme est que j apelle une methode getCodeBase dans la classe Canvas mais comme ce n est pas une applet la methode n est pas reconnue...
Ma question est donc comment faire pour superposer une image dans un canvas(en l occurence ici une image par dessus un quadrillage de canvas)?
Code :
- public class Carres extends JApplet {
- Image im;
- public void init() {
- getContentPane().setLayout(new BorderLayout());
- MyCanvas d=new MyCanvas();
- getContentPane().add("Center",d);
- JButton efface = new JButton("efface" );
- getContentPane().add("North",efface);
- JCheckBox relief = new JCheckBox("relief" );
- getContentPane().add("East",relief);
- JTextArea texte = new JTextArea();
- getContentPane().add("South",texte);
-
-
- JPanel dessin = new JPanel();
- dessin.setBackground(Color.blue);
- getContentPane().add("West",dessin);
- //JButton b=new JButton("Changer" );
- //b.addActionListener(d);
- //getContentPane().add("South",b);
- }
- }
|
Code :
- class MyCanvas extends Canvas {
- Image im;
- public MyCanvas() {
- setBackground(Color.white);
- setSize(400, 400);
- //le code qui passe pas a la compil
- im = getImage(getCodeBase(), "Tour.GIF" );
- }
- public void paint(Graphics g) {
- // Un quadrillage 8x8
- for(int i=1 ; i<8 ; i+=1) {
- g.drawLine(i*50, 0, i*50, 400);
- g.drawLine(0, i*50, 400, i*50);
- g.drawImage(im, 200, 140, this);
- }
- }
- }
|
toute explication est bonne a prendre merci |