[Debutant][Applet][Swing]canvas+superposition image

canvas+superposition image [Debutant][Applet][Swing] - Java - Programmation

Marsh Posté le 24-03-2005 à 20:05:27    

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 :
  1. public class Carres extends JApplet {
  2. Image im;
  3. public void init() {
  4. getContentPane().setLayout(new BorderLayout());
  5. MyCanvas d=new MyCanvas();
  6. getContentPane().add("Center",d);
  7. JButton efface = new JButton("efface" );
  8. getContentPane().add("North",efface);
  9.   JCheckBox relief = new JCheckBox("relief" );
  10. getContentPane().add("East",relief);
  11.   JTextArea texte = new JTextArea();
  12. getContentPane().add("South",texte);
  13.  
  14.  
  15.   JPanel dessin = new JPanel();
  16.   dessin.setBackground(Color.blue);
  17.   getContentPane().add("West",dessin);
  18. //JButton b=new JButton("Changer" );
  19. //b.addActionListener(d);
  20. //getContentPane().add("South",b);
  21. }
  22. }


 
 
 
 
 

Code :
  1. class MyCanvas extends Canvas {
  2. Image im;
  3. public MyCanvas() {
  4. setBackground(Color.white);
  5. setSize(400, 400);
  6. //le code qui passe pas a la compil  
  7. im = getImage(getCodeBase(), "Tour.GIF" );
  8. }
  9. public void paint(Graphics g) {
  10. // Un quadrillage 8x8
  11. for(int i=1 ; i<8 ; i+=1) {
  12. g.drawLine(i*50, 0, i*50, 400);
  13. g.drawLine(0, i*50, 400, i*50);
  14. g.drawImage(im, 200, 140, this);
  15. }
  16. }
  17. }


 
toute explication est bonne a prendre  
merci

Reply

Marsh Posté le 24-03-2005 à 20:05:27   

Reply

Marsh Posté le 25-03-2005 à 21:21:11    

tu file l'url dans le constructeur de ton canvas:
 
 
dans ton init:
 
MyCanvas d=new MyCanvas(getCodeBase());
 
 
# public MyCanvas(URL codeBase) {
# setBackground(Color.white);
# setSize(400, 400);
#
# //le code qui passe pas a la compil  
# im = getImage(codeBase, "Tour.GIF" );
#
# }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed