Parametres de constructeur - Java - Programmation
Marsh Posté le 16-10-2005 à 11:49:10
ca te sert a quoi de vouloir utiliser j.getVar() alors que tu l'as déjà sauvegarder ?
Marsh Posté le 16-10-2005 à 15:21:54
et var c'est quoi ?
Marsh Posté le 16-10-2005 à 16:11:30
Var est une variable de la classe, elle ne devrait pas servir.Parce qu'en fait il faudrais que j accede directement a la classe j qui comprend un accesseur setVar(int v) qui permet de modifier une variable de JeuEchec et getVar() qui per met d acceder a la valeuir de cette variable depuis la metthode paint() sans passer par une variable intermediaire, car cele ne fonctionne pas..
Marsh Posté le 16-10-2005 à 16:12:16
bha réfléchi deux secondes alors
Marsh Posté le 16-10-2005 à 17:37:58
si dans la methode paint je fais j.getvar() ca ne marche pas car il ne reconnait pas j.
Marsh Posté le 16-10-2005 à 17:56:19
bha alors il faut faire quoi pour qu'il le reconnaisse ?
sauvegarder une référence vers celui ci
Marsh Posté le 16-10-2005 à 20:33:35
Mais comment on peut faire une reference?
Parce qu'en declarant JeuEchec jeu ds le constructeur de Dessin pui en faisant
jeu=j
La compilation marche ms on dirait que les instances j et jeu ne sont pas les meme.
Marsh Posté le 17-10-2005 à 11:08:23
Si tu savais pourquoi dans ton constructeur tu mettais :
Code :
|
Tu comprendrais certainement comment corrigé ton erreur.
Marsh Posté le 18-10-2005 à 21:37:16
En fait ce que j ai mis au dessus c'est un essai, ce qu'il faudrait c'est pouvoir acceder au parametre j qui de type JeuEchec dans la methode paint.
Marsh Posté le 19-10-2005 à 15:01:29
Tu ne peux pas accéder à ta variable 'j' sauf si tu le passes en argument à la méthode Paint.
Ce que tu peux par contre !!!
C'est utiliser la variable 'var' à laquelle tu as affecté j.getVar() dans le constructeur de ta classe
ce qui fais que au lieu d'utiliser
if(j.getVar()%2!=0){
tu utilisera
if(var%2!=0){
Marsh Posté le 16-10-2005 à 11:36:53
Bonjour
La classe Dessin comporte 2 méthodes qui sont le constructeur de la classe et la méthode paint().
En paramètre du constructeur se trouve une autre classe. On peut acceder a cette classe depuis le constructeur
mais comment faire pour y acceder depuis la methode paint()?
public class Dessin extends JPanel{
int var;
public Dessin(JeuEchec j){
super();
var = j.getVar();
setVisible(true);
repaint();
}
public void paint(Graphics g){
super.paint(g);
if(j.getVar()%2!=0){
g.setColor(Color.yellow);
}else{
g.setColor(Color.blue);
}
g.fillOval(150+var*10, 150, 150, 150);
}
}