Parametres de constructeur

Parametres de constructeur - Java - Programmation

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);
 }
 
}
 
 
 

Reply

Marsh Posté le 16-10-2005 à 11:36:53   

Reply

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 ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 16-10-2005 à 14:33:49    

Sauvegarder ou ca?

Reply

Marsh Posté le 16-10-2005 à 15:21:54    

et var c'est quoi ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

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..

Reply

Marsh Posté le 16-10-2005 à 16:12:16    

bha réfléchi deux secondes alors :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

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.

Reply

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 :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

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.

Reply

Marsh Posté le 17-10-2005 à 11:08:23    

Si tu savais pourquoi dans ton constructeur tu mettais :
 

Code :
  1. var = j.getVar();


 
Tu comprendrais certainement comment corrigé ton erreur.

Reply

Marsh Posté le 17-10-2005 à 11:08:23   

Reply

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.

Reply

Marsh Posté le 19-10-2005 à 15:01:29    

:sweat:  
 
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){

Reply

Sujets relatifs:

Leave a Replay

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