[java] dessin dans un canvas

dessin dans un canvas [java] - Programmation

Marsh Posté le 06-06-2001 à 16:33:54    

je vous ai mis le code pour être plus claire : voilà j'ai un panel avec des boutons est deux canvas (palette et palette2).
je voudrais qu'il y ai dans le constructeur de dessiné un rectangle dans palette et un cercle dans palette2.
 
est-ce que je dois rajouter la methode paint(graphics g)  dans le constructeur ?
ou on le rajout par palette.add(g)  
/////////////////////////////////////////
import java.awt.*;
import java.awt.event.*;
 
class Progdessin extends Frame {
 
 
Progdessin(){
 
Panel pan1=new Panel(new FlowLayout());
Button bcercle=new Button("cercle" );
Button brectangle=new Button("rectangle" );
Canvas palette=new Canvas();
Canvas palette2=new Canvas();
 
palette.setBackground(Color.lightGray);
palette2.setBackground(Color.red);
pan1.add(bcercle);pan1.add(brectangle);
add(pan1);
add((palette),c);
add((palette2),c);
setSize(500,500);
setVisible(true);
}
public static void main(String [] args){
new Progdessin();
}
}

Reply

Marsh Posté le 06-06-2001 à 16:33:54   

Reply

Marsh Posté le 06-06-2001 à 17:01:28    

jai pas tout pigé a ton truc... mais tu dois jouer avec paint en effet...


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Marsh Posté le 06-06-2001 à 17:16:32    

voilà j'ai rajouter ça dans le contructeur
palette.add(g);
 
puis j'ai rajouter une methode  
public void paint(Graphics g){
 g.drawOval(0,0,30,20);
 }
 
mais mon dessin se met pas dans mon canvas !

Reply

Marsh Posté le 06-06-2001 à 17:19:29    

Tu derive le canvas et tu definis le paint dans la classe derivee
dans ta classe du main... tu instancie ta classe derivee...
la, ca devrait marcher :D

 

[edit]--Message édité par wouatouwouatou--[/edit]


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Marsh Posté le 06-06-2001 à 17:21:54    

pas compris ?.
 
je rajoute quoi à mon code pour avoir un cercle dans le canvas palette2 ?

Reply

Marsh Posté le 06-06-2001 à 17:33:34    

Code :
  1. public MonCanvasOval extends Canvas
  2. {
  3. public MonCanvasOval()
  4. {
  5.    setSize(50,50);
  6. }
  7. public void paint(Graphics g)
  8. {
  9.    g.drawOval(0,0,30,20);
  10. }
  11. }


 
et dans le main tu fais un new MonCanvasOval() au lieu de new Canvas() au nivo de palette2

 

[edit]--Message édité par wouatouwouatou--[/edit]


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Marsh Posté le 06-06-2001 à 18:01:14    

merchi boco !
 
en fait il faut toujour dériver une class !?
bizar ce canvas !
 
 
au fait, c'est le seule objet où on peut dessiner dessus ? ou y en a d'autre ?

Reply

Marsh Posté le 07-06-2001 à 09:37:50    

pas tjrs mais souvent :D


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Sujets relatifs:

Leave a Replay

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