OVH Cloud OVH Cloud

j' arrive pas a dessiner

5 réponses
Avatar
areuh
Bonsoir tout le monde.

Je découvre Java depuis peu et je n' arrive pas a dessiner (comprendre la
méthode paint()).

Je vous explique le probleme :

Je travaille sous JBuilder9 avec le pdf de Borland : Introduction à Java,
chapitre 6.

le fichier par défaut : Cadre1
une classe ClasseHomme
une classe ClasseChien

Rapidement
dans ma fenetre princpale, il y a 3 boutons
bouton "dessiner chien"
bouton "creer homme"
bouton "creer chien"
6 JTextField (3 pour le chien et 3 pour l' homme, leur nom, couleur de
leurs yeux et leur age)
2 JCheckBox (l' homme est il marie, le chien a til une queue?)

Lorsque je clique sur "creer homme", j' ai ses composants qui affichent les
infos ds la classe ClasseHomme (Steven, yeux bleus, l' age et il est marie)

Lorsque je clique sur "creer chien" :
une nouvelle JFrame s' ouvre avec dedans :
- 3 JTextField
- 1 bouton "generer"
Je renseigne les JTextField comme je le souhaite et je clique sur le bouton
"generer", je retourne alors à ma premiere JFrame avec les JTextField du
chien remplis avec les renseignements que j' ai tapé.

sur cette fenetre principale, j' ai également le JButton "dessiner chien"
Lorsque je clique dessus :
Une nouvelle JFrame s' ouvre avec un JPanel à l' interieur.
Je souhaiterai qu' au clique sur le JButton "desiner chien", s' ouvre la
fenetre (ok pas de probleme) et en plus dessiner un cercle qui
personnifierait mon chien.

J' espere me faire comprendre.

Je vous laisse le code des 3 fichiers

fichier Cadre1 :
package oop1;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.ActionEvent;

public class Cadre1 extends JFrame implements ActionListener {

// references aux objets des autres fichiers


//-----------------------------------------------------------------------
-----
// LES METHODES OBLIGATOIRES
//-----------------------------------------------------------------------
-----

// methode obligatoire pour impléménter l' interface ActionListener
public void actionPerformed(ActionEvent e){ }

//-----------------------------------------------------------------------
-----
// FIN DES METHODES OBLIGATOIRES
//-----------------------------------------------------------------------
-----

//-----------------------------------------------------------------------
-----
// DECLARER ET INITIALISER LES COMPOSANTS
//-----------------------------------------------------------------------
-----

// referencces au fichier ClasseChien, fichier ClasseHomme, au fichier
Cercle
ClasseChien chien01;
ClasseHomme homme01;

//-----------------------------------------------------------------------
-----
// fenêtre principale

// Les differents JPanel
JPanel A1= new JPanel(); // rien
JPanel B1= new JPanel(); // rien
JPanel C1= new JPanel(); // rien

JPanel A2= new JPanel(); // JLabel nom = lP01nomchien
JLabel lP01nomchien = new JLabel("nom du chien");
JPanel B2= new JPanel(); // JTextField nom = champsP01nomchien
JTextField champsP01nomchien = new JTextField(15);
JPanel C2= new JPanel(); // rien
JPanel A3= new JPanel(); // JLabel couleur des yeux =
lP01couleuryeuxchien
JLabel lP01couleuryeuxchien = new JLabel("Couleur des yeux");
JPanel B3= new JPanel(); // JTextField couleur des yeux =
champsP01couleuryeuxchien
JTextField champsP01couleuryeuxchien = new JTextField(15);
JPanel C3= new JPanel(); // JButton creer chien = btnP01creerchien
JButton btnP01dessinerchien = new JButton("dessiner Chien");
// la définition de la méthode pour l' action de ce bouton est définie
dans le jbInit()
JPanel A4 = new JPanel(); // JLabel age = lP01agechien
JLabel lP01agechien = new JLabel("age");
JPanel B4 = new JPanel(); // JTextField age = champsP01agechien
JTextField champsP01agechien = new JTextField(15);
JPanel C4 = new JPanel(); // rien
JPanel A5 = new JPanel(); // rien
JPanel B5 = new JPanel(); // Jchkbox queue = chkboxP01queuechien
JCheckBox chkboxP01queuechien = new JCheckBox();
JPanel C5 = new JPanel(); // rien
JPanel A6 = new JPanel(); // rien
JPanel B6 = new JPanel(); // rien
JPanel C6 = new JPanel(); // rien
JPanel A7 = new JPanel(); // JLabel nom = lP01nomhomme
JLabel lP01nomhomme = new JLabel("nom de l' homme");
JPanel B7 = new JPanel(); // JTextField nom = champsP01nomhomme
JTextField champsP01nomhomme = new JTextField(15);
JPanel C7 = new JPanel(); // rien
JPanel A8 = new JPanel(); // JLabel couleur des yeux =
lP01couleuryeuxhomme
JLabel lP01couleuryeuxhomme = new JLabel("couleur des yeux");
JPanel B8 = new JPanel(); // JTextField couleur des yeux =
champsP01couleuryeuxhomme
JTextField champsP01couleuryeuxhomme = new JTextField(15);
JPanel C8 = new JPanel(); // JButton creer homme = btnP01creerhomme
JButton btnP01creerhomme = new JButton("creer Homme");
// la définition de la méthode pour l' action de ce bouton est définie
dans le jbInit()
JPanel A9 = new JPanel(); // JLabel age = lP01agehomme
JLabel lP01agehomme = new JLabel("age");
JPanel B9 = new JPanel(); // JTextField age = champsP01agehomme
JTextField champsP01agehomme = new JTextField(15);
JPanel C9 = new JPanel(); // rien
JPanel A10 = new JPanel(); // rien
JPanel B10 = new JPanel(); // JChkbox marié = chkboxP01mariehomme
JCheckBox chkboxP01mariehomme = new JCheckBox();
JPanel C10 = new JPanel(); // rien
JPanel A11 = new JPanel(); // rien
JPanel B11 = new JPanel(); // JButton btnP01nouveauchien
JButton btnP01nouveauchien = new JButton("creer un chien");
JPanel C11 = new JPanel(); // rien

//---------------------------------------------------------------------
---
// fenêtre "création d' un nouveau chien"
JFrame F01Anouveauchien = new JFrame("creation d' un nouveau chien");
GridLayout dispoF01Anouveauchien= new GridLayout();
JPanel pF01AA1= new JPanel();
JLabel lF01AA1= new JLabel("entrez le nom du chien");
JPanel pF01AB1= new JPanel();
JTextField champsF01AB1= new JTextField(15);
JPanel pF01AC1= new JPanel();
JButton btnF01AC1= new JButton("générer");
JPanel pF01AA2 =new JPanel();
JLabel lF01AA2= new JLabel("entrez la couleur des yeux");
JPanel pF01AB2 = new JPanel();
JTextField champsF01AB2= new JTextField(15);
JPanel pF01AC2= new JPanel(); // rien
JPanel pF01AA3= new JPanel();
JLabel lF01AA3= new JLabel("entrez l' age");
JPanel pF01AB3= new JPanel();
JTextField champsF01AB3= new JTextField(15);
JPanel pF01AC3= new JPanel(); // rien


//---------------------------------------------------------------------
---
// fenêtre "Animation du chien
JFrame Fanimationchien= new JFrame("Animation du chien");
BorderLayout dispoFanimationchien= new BorderLayout();
JPanel pFanimationchiencentre= new JPanel();

//---------------------------------------------------------------------
-----
// CONSTRUCTEUR POUR CONSTRUIRE LE CADRE1
//---------------------------------------------------------------------
-----
public Cadre1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//-------------------------------------------------------------------
-----
// FIN DU CONSTRUCTEUR
//-------------------------------------------------------------------
-----

//-------------------------------------------------------------------
-----
// PARAMETRER LES COMPOSANTS ET LES INTERCONNECTER
// Méthode privée jbInit()
//-------------------------------------------------------------------
-----

private void jbInit() throws Exception {


//-----------------------------------------------------------------
-----
// La fenêtre principale

this.setSize(new Dimension(500, 400));
this.setTitle("fenetre principale");

// Le panneau principal
// JPanel panoprincipal;
// panoprincipal = (JPanel) this.getContentPane(); // A DECOMPOSER
GridLayout dispoP01 = new GridLayout();
// panoprincipal.setLayout(dispoP01);
this.getContentPane().setLayout(dispoP01);
dispoP01.setColumns(3);
dispoP01.setRows(11);
this.getContentPane().add(A1);
this.getContentPane().add(B1);
this.getContentPane().add(C1);
this.getContentPane().add(A2);
A2.add(lP01nomchien);
this.getContentPane().add(B2);
B2.add(champsP01nomchien);
this.getContentPane().add(C2);
this.getContentPane().add(A3);
A3.add(lP01couleuryeuxchien);
this.getContentPane().add(B3);
B3.add(champsP01couleuryeuxchien);
this.getContentPane().add(C3);
C3.add(btnP01dessinerchien);
this.getContentPane().add(A4);
A4.add(lP01agechien);
this.getContentPane().add(B4);
B4.add(champsP01agechien);
this.getContentPane().add(C4);
this.getContentPane().add(A5);
this.getContentPane().add(B5);
B5.add(chkboxP01queuechien);
this.getContentPane().add(C5);
this.getContentPane().add(A6);
this.getContentPane().add(B6);
this.getContentPane().add(C6);
this.getContentPane().add(A7);
A7.add(lP01nomhomme);
this.getContentPane().add(B7);
B7.add(champsP01nomhomme);
this.getContentPane().add(C7);
this.getContentPane().add(A8);
A8.add(lP01couleuryeuxhomme);
this.getContentPane().add(B8);
B8.add(champsP01couleuryeuxhomme);
this.getContentPane().add(C8);
C8.add(btnP01creerhomme);
this.getContentPane().add(A9);
A9.add(lP01agehomme);
this.getContentPane().add(B9);
B9.add(champsP01agehomme);
this.getContentPane().add(C9);
this.getContentPane().add(A10);
this.getContentPane().add(B10);
B10.add(chkboxP01mariehomme);
this.getContentPane().add(C10);
this.getContentPane().add(A11);
this.getContentPane().add(B11);
B11.add(btnP01nouveauchien);
this.getContentPane().add(C11);

//-----------------------------------------------------------------
-----
// La fenêtre "creaton d' un nouveau chien"

F01Anouveauchien.setSize(800, 400);
F01Anouveauchien.getContentPane().setLayout(dispoF01Anouveauchien);
dispoF01Anouveauchien.setColumns(3);
dispoF01Anouveauchien.setRows(3);
// definir champsF01AB3 pour qu' il n' accepte que les chiffres
// champsF01AB3.
F01Anouveauchien.getContentPane().add(pF01AA1);
pF01AA1.add(lF01AA1);
F01Anouveauchien.getContentPane().add(pF01AB1);
pF01AB1.add(champsF01AB1);
F01Anouveauchien.getContentPane().add(pF01AC1);
// rien a connecter
F01Anouveauchien.getContentPane().add(pF01AA2);
pF01AA2.add(lF01AA2);
F01Anouveauchien.getContentPane().add(pF01AB2);
pF01AB2.add(champsF01AB2);
F01Anouveauchien.getContentPane().add(pF01AC2);
pF01AC2.add(btnF01AC1);
F01Anouveauchien.getContentPane().add(pF01AA3);
pF01AA3.add(lF01AA3);
F01Anouveauchien.getContentPane().add(pF01AB3);
pF01AB3.add(champsF01AB3);
F01Anouveauchien.getContentPane().add(pF01AC3);
// rien a connecter

//-----------------------------------------------------------------
-----
// La fenêtre "animation du chien"
Fanimationchien.setSize(400, 400);
Fanimationchien.getContentPane().setLayout(dispoFanimationchien);
Fanimationchien.getContentPane().add(pFanimationchiencentre);
pFanimationchiencentre.setBackground(Color.black);


//---------------------------------------------------------------------
-----
// LES ACTIONS BOUTON
//---------------------------------------------------------------------
-----

// bouton "creer homme
btnP01creerhomme.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent clickbtnP01creerhomme){
if ((JButton) clickbtnP01creerhomme.getSource()==
btnP01creerhomme)
homme01=new ClasseHomme();
champsP01nomhomme.setText(homme01.nom);
champsP01couleuryeuxhomme.setText(homme01.couleurYeux);
champsP01agehomme.setText(Integer.toString(homme01.age));
chkboxP01mariehomme.setSelected(true);
}}
);


// bouton "dessiner chien"
btnP01dessinerchien.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent clickbtnP01dessinerchien){
if((JButton) clickbtnP01dessinerchien.getSource()==
btnP01dessinerchien)
Fanimationchien.show();
}}
);

// bouton "creer chien"
btnP01nouveauchien.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent clickbtnP01nouveauchien){
if((JButton) clickbtnP01nouveauchien.getSource()==
btnP01nouveauchien)
F01Anouveauchien.show();
}}
);

// bouton "generer"
btnF01AC1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent clickbtnF01AC1){
if((JButton) clickbtnF01AC1.getSource()== btnF01AC1)
champsP01nomchien.setText(champsF01AB1.getText());
champsP01couleuryeuxchien.setText(champsF01AB2.getText());
champsP01agechien.setText(champsF01AB3.getText());
F01Anouveauchien.hide();
}}
);

//-------------------------------------------------------------------
-----
// FIN DES ACTIONS BOUTON
//-------------------------------------------------------------------
-----

} // > FIN DE LA METHODE PRIVEE JBINIT()

//-------------------------------------------------------------------
-----
// METHODE PROTEGEE
// Redéfini, ainsi nous pouvons sortir quand la fenêtre est fermée
//-------------------------------------------------------------------
-----
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
} // > FIN DE LA METHODE PROTEGEE
}


le fichier ClasseChien :
package oop1;

import java.awt.*;


public class ClasseChien extends Cadre1 {

int x;
int y;
int largeur;
int hauteur;

public ClasseChien(int posx, int posy, int larg, int haut) { //
constructeur

posx= x;
posy= y;
larg= largeur;
haut= hauteur;

}

// methodes
public void dessiner(Graphics objetgraphique){
objetgraphique.setColor(Color.red);
objetgraphique.fillOval((int)x, (int)y, (int)largeur, (int)hauteur);
}

}


et enfin le fichier ClasseHomme :

package oop1;

public class ClasseHomme extends Cadre1 {

String nom;
String couleurYeux;
int age;
boolean isMarie;

public ClasseHomme() {
nom="Steven";
couleurYeux="bleus";
age=35;
isMarie=true;
}

}



package oop1;

public class ClasseHomme extends Cadre1 {

String nom;
String couleurYeux;
int age;
boolean isMarie;

public ClasseHomme() {
nom="Steven";
couleurYeux="bleus";
age=35;
isMarie=true;
}

}

Voilà

Je vais essayer de mettre les fichiers en piece jointe.

Si qqu' un pouvait prendre le temps de m' expliquer (ou encore mieux de
modifier mon code pour le esultat souhaité, histoire que je comprenne une
bonne fois pour toute).

Un grand merci,
a+
areuh

5 réponses

Avatar
Bruno Causse
dans l'article , areuh à
a écrit le 16/02/2004 21:50 :

Bonsoir tout le monde.

Je découvre Java depuis peu et je n' arrive pas a dessiner (comprendre la
méthode paint()).

Je vous explique le probleme :

Je travaille sous JBuilder9 avec le pdf de Borland : Introduction à Java,
chapitre 6.

le fichier par défaut : Cadre1
une classe ClasseHomme
une classe ClasseChien

Rapidement
dans ma fenetre princpale, il y a 3 boutons
bouton "dessiner chien"
bouton "creer homme"
bouton "creer chien"
6 JTextField (3 pour le chien et 3 pour l' homme, leur nom, couleur de
leurs yeux et leur age)
2 JCheckBox (l' homme est il marie, le chien a til une queue?)

Lorsque je clique sur "creer homme", j' ai ses composants qui affichent les
infos ds la classe ClasseHomme (Steven, yeux bleus, l' age et il est marie)

Lorsque je clique sur "creer chien" :
une nouvelle JFrame s' ouvre avec dedans :
- 3 JTextField
- 1 bouton "generer"
Je renseigne les JTextField comme je le souhaite et je clique sur le bouton
"generer", je retourne alors à ma premiere JFrame avec les JTextField du
chien remplis avec les renseignements que j' ai tapé.

sur cette fenetre principale, j' ai également le JButton "dessiner chien"
Lorsque je clique dessus :
Une nouvelle JFrame s' ouvre avec un JPanel à l' interieur.
Je souhaiterai qu' au clique sur le JButton "desiner chien", s' ouvre la
fenetre (ok pas de probleme) et en plus dessiner un cercle qui
personnifierait mon chien.

J' espere me faire comprendre.


jusque la ca va :)

Dans un 1er temps abandonnes ton RAD et fais a la mimine ca aide a
comprendre.

conseil : ne pas oublier dans tes objets graphiques de redefinir la methode
paint().

@+

Avatar
areuh
Bruno Causse écrivait
news:BC5796BD.95E%:

dans l'article , areuh à
a écrit le 16/02/2004 21:50 :

Bonsoir tout le monde.

Je découvre Java depuis peu et je n' arrive pas a dessiner
(comprendre la méthode paint()).

Je vous explique le probleme :

Je travaille sous JBuilder9 avec le pdf de Borland : Introduction à
Java, chapitre 6.

le fichier par défaut : Cadre1
une classe ClasseHomme
une classe ClasseChien

Rapidement
dans ma fenetre princpale, il y a 3 boutons
bouton "dessiner chien"
bouton "creer homme"
bouton "creer chien"
6 JTextField (3 pour le chien et 3 pour l' homme, leur nom, couleur
de leurs yeux et leur age)
2 JCheckBox (l' homme est il marie, le chien a til une queue?)

Lorsque je clique sur "creer homme", j' ai ses composants qui
affichent les infos ds la classe ClasseHomme (Steven, yeux bleus, l'
age et il est marie)

Lorsque je clique sur "creer chien" :
une nouvelle JFrame s' ouvre avec dedans :
- 3 JTextField
- 1 bouton "generer"
Je renseigne les JTextField comme je le souhaite et je clique sur le
bouton "generer", je retourne alors à ma premiere JFrame avec les
JTextField du chien remplis avec les renseignements que j' ai tapé.

sur cette fenetre principale, j' ai également le JButton "dessiner
chien" Lorsque je clique dessus :
Une nouvelle JFrame s' ouvre avec un JPanel à l' interieur.
Je souhaiterai qu' au clique sur le JButton "desiner chien", s' ouvre
la fenetre (ok pas de probleme) et en plus dessiner un cercle qui
personnifierait mon chien.

J' espere me faire comprendre.


jusque la ca va :)

Dans un 1er temps abandonnes ton RAD et fais a la mimine ca aide a
comprendre.

conseil : ne pas oublier dans tes objets graphiques de redefinir la
methode paint().

@+



Salut Bruno,
Ds un ° temps j' utilise JBuilder mais je prends la peine d' écrire le code
source au complet et ce pour la raison que tu cites, donc en général je
comprends ce que je tape.

Ensuite, si tu regardes mon code source, je n' ai pas de methode paint().
En effet si j' en implemente une ds mon fichier principal, l' affichage est
tout chamboulé.
J' ai cree une methode dessiner() ds la classe ClasseChien qui doit me
dessiner un cercle rouge (sensé représenté mon chien).
Donc ou et comment dois je implementer la methode paint() ?

Je vais abuser un peu, mais me permettrais tu de t' envoyer (ici ou par
mail) mes fichiers, histoire que tu y jettes un coup d' oeil, cela te
prendra environ 5 mns j' imagine, je n' ai pratiquement que des
déclarations de composants et quelques actions boutons, c' est tout.

Le coup du paint(Graphics g){...}, ça fait un moment que j' y suis dessus
et je commence à en avoir marre

Voilà donc je vais attendre ta réponse ici avant de faire quoi que ce soit.
en tous les cas merci déja d' avoir répondu.

Merci
a+
areuh


Avatar
Causse bruno
dans l'article , areuh à
a écrit le 18/02/04 23:01 :

Salut Bruno,


Re

Ds un ° temps j' utilise JBuilder mais je prends la peine d' écrire le code
source au complet et ce pour la raison que tu cites, donc en général je
comprends ce que je tape.


Bien


Ensuite, si tu regardes mon code source, je n' ai pas de methode paint().
En effet si j' en implemente une ds mon fichier principal, l' affichage est
tout chamboulé.
J' ai cree une methode dessiner() ds la classe ClasseChien qui doit me
dessiner un cercle rouge (sensé représenté mon chien).
Donc ou et comment dois je implementer la methode paint() ?

Je vais abuser un peu, mais me permettrais tu de t' envoyer (ici ou par
mail) mes fichiers, histoire que tu y jettes un coup d' oeil, cela te
prendra environ 5 mns j' imagine, je n' ai pratiquement que des
déclarations de composants et quelques actions boutons, c' est tout.


Pas la peine

Le coup du paint(Graphics g){...}, ça fait un moment que j' y suis dessus
et je commence à en avoir marre

Voilà donc je vais attendre ta réponse ici avant de faire quoi que ce soit.
en tous les cas merci déja d' avoir répondu.



Voilà mon code etudies le


import java.awt.*;
import java.awt.event.*;
import java.applet.*;

class Rectangle5 extends Frame{

// Les données membre
double x;
double y;
double largeur;
double hauteur;

// Le constructeur
Rectangle5(String title, double valX, double valY, double valL, double
valH){
setSize(300, 300);
setTitle(title);

x = valX;
y = valY;
largeur = valL;
hauteur = valH;
}
// Fin du constructeur

// Méthode
public void paint(Graphics g) {
g.setColor(Color.red);
g.fillRect((int)x, (int)y, (int)largeur, (int)hauteur);
}

}

public class Areuh extends Applet implements ActionListener{

Graphics g;
private boolean isStandalone = false;

Rectangle5 F02= new Rectangle5("F02", 30,30,50,50);

//Construire l'applet
public Areuh() { }

public void init() {

BorderLayout dispoF01= new BorderLayout();
setLayout(dispoF01);

Panel p= new Panel();
p.setBackground(Color.black);
add("Center", p);

Panel sud= new Panel();
sud.setBackground(Color.red);
//sud.setSize(200, 200); // les dimensions ne servent
à rien
Button btn= new Button("dessiner");
btn.addActionListener(this);
sud.add(btn);

add("South", sud);

}

public void actionPerformed(ActionEvent clickbtn){
if(clickbtn.getActionCommand().equals("dessiner"))
F02.show();
}

}


Merci


De rien

--
Bruno Causse
http://perso.wanadoo.fr/othello

Avatar
areuh
Causse bruno écrivait
news:BC5A6272.94B7%:




Voilà mon code etudies le


import java.awt.*;
import java.awt.event.*;
import java.applet.*;

class Rectangle5 extends Frame{

// Les données membre
double x;
double y;
double largeur;
double hauteur;

// Le constructeur
Rectangle5(String title, double valX, double valY, double valL,
double
valH){
setSize(300, 300);
setTitle(title);

x = valX;
y = valY;
largeur = valL;
hauteur = valH;
}
// Fin du constructeur

// Méthode
public void paint(Graphics g) {
g.setColor(Color.red);
g.fillRect((int)x, (int)y, (int)largeur, (int)hauteur);
}

}

public class Areuh extends Applet implements ActionListener{

Graphics g;
private boolean isStandalone = false;

Rectangle5 F02= new Rectangle5("F02", 30,30,50,50);

//Construire l'applet
public Areuh() { }

public void init() {

BorderLayout dispoF01= new BorderLayout();
setLayout(dispoF01);

Panel p= new Panel();
p.setBackground(Color.black);
add("Center", p);

Panel sud= new Panel();
sud.setBackground(Color.red);
//sud.setSize(200, 200); // les dimensions ne
servent
à rien
Button btn= new Button("dessiner");
btn.addActionListener(this);
sud.add(btn);

add("South", sud);

}

public void actionPerformed(ActionEvent clickbtn){
if(clickbtn.getActionCommand().equals("dessiner"))
F02.show();
}

}


Merci


De rien



Salut Bruno, ça y est j' ai regardé ton code

En fait, chez toi Rectangle5 c' est un constructeur pr une nouvelle fenetre
et ds ce fichier tu inseres un carre par la methode paint(), et puis c' est
tout. Tu appelles ta nouvelle fenetre par un bouton, elle s' affiche avec
le carre dedans.

Personnellement, j' utilisais le fichier Rectangle5 comme constructeur pour
dessiner le carré et je pensais afficher ce carré avec la methode
dessiner() definie ds ce meme fichier.

Et maintenant je pense commencer à comprendre le fichier de la page

http://www.pasteur.fr/~llafitte/Docs/java/partie3/Prog31c.html

: si tu fais une equivalence de la methode paint() ds un fichier
secondaire, que tu la nommes differement de paint() (exemple : dessiner()).
Eh bien tu peux appeler cette methode dessiner() ds ton fichier principal
mais à l' interieur de la methode paint() que tu auras pris le soin d'
implementer auparavant.
Ensuite la syntaxe de ton appel est :
<nomobjet>.<nommethode>(<parametre(ici g)>)


Alors, par hasard, aurai je compris ?

areuh


Avatar
Causse bruno
dans l'article , areuh à
a écrit le 19/02/04 22:59 :

Salut Bruno, ça y est j' ai regardé ton code

En fait, chez toi Rectangle5 c' est un constructeur pr une nouvelle fenetre
et ds ce fichier tu inseres un carre par la methode paint(), et puis c' est
tout. Tu appelles ta nouvelle fenetre par un bouton, elle s' affiche avec
le carre dedans.


Oui


Personnellement, j' utilisais le fichier Rectangle5 comme constructeur pour
dessiner le carré et je pensais afficher ce carré avec la methode
dessiner() definie ds ce meme fichier.


Alors la tu te trompes de fenetre c'est la méthode paint() de FO2 que tu
doit redéfinir.


Et maintenant je pense commencer à comprendre le fichier de la page

http://www.pasteur.fr/~llafitte/Docs/java/partie3/Prog31c.html



Ouaih basic,

: si tu fais une equivalence de la methode paint() ds un fichier
secondaire, que tu la nommes differement de paint() (exemple : dessiner()).
Eh bien tu peux appeler cette methode dessiner() ds ton fichier principal
mais à l' interieur de la methode paint() que tu auras pris le soin d'
implementer auparavant.
Ensuite la syntaxe de ton appel est :
<nomobjet>.<nommethode>(<parametre(ici g)>)




La méthode paint d'un contener "applet/frame/panel/canvas etc...." doit
appeler les objets qui doivent etre dessinés. Automatiquement si ils sont
inscrits ex. les boutons/canvas/panel/frame .... etc (méthode add()) ou
manuellement si ce ne sont pas des component ex. ton rectangle5.

Par souci de clarté pourquoi ne pas conserver paint plutot que dessiner

Alors, par hasard, aurai je compris ?



Je l'espere :)

areuh