Partage
  • Partager sur Facebook
  • Partager sur Twitter

gestion méthodes

Sujet résolu
    19 février 2009 à 19:16:01

    Bonjour à tous !

    Je débute en java et je lis des bouquins de prog, mais il y a des notions que je peine a comprendre comme la transmission de variable d'une méthode entre classe ou bien entre méthode j'aimerai quelques explications.

    Voila ce que j'ai commencé a faire pour un petit programme. Les lignes de code servent ici a obtenir la taille de l'écran et a la diviser par deux pour que la fenetre que je veux générer face la moitié des dimensions de l'écran mais je ne peux pas utiliser les variables ^^. Voici le code :
    package AchatRetrait;
    
    import javax.swing.*;
    import java.awt.Dimension;
    import java.awt.Toolkit;
    
    
    public class Achat extends JFrame{
    
    	public Achat() {
    		this.setSize(larg/2,haut/2);//impossibilité 
    		
    	}
    public void DimensionEcran(){
    	Toolkit tk = Toolkit.getDefaultToolkit();
    	Dimension dimecran= tk.getScreenSize();
    	int larg = dimecran.width;
    	int haut =dimecran.height;
    }
    	
    	public static void main(String[] args) {
    		
    	}
    
    }
    


    Le probleme ici e que je ne peux pas utiliser les variables haut et larg dans mon constructeur.
    j'espere que vos pourrez m'aider merci bien
    Phoenix_2406 :)
    • Partager sur Facebook
    • Partager sur Twitter
      19 février 2009 à 20:36:44

      Là c'est un problème de portée de variables.
      Une variable n'est accessible directement que dans le bloc où elle est déclarée.
      Ta classe Achat est une JFrame (par héritage) et donc tu peux déclarer des variables d'instance larg et haut dans la classe.
      Ainsi elles seront accessibles au constructeur.

      package AchatRetrait;
      
      import javax.swing.*;
      import java.awt.Dimension;
      import java.awt.Toolkit;
      
      
      public class Achat extends JFrame {
      
          int haut = 0;
          int larg = 0;
      
      	public Achat() {
                      dimensionEcran();
      		this.setSize(larg/2, haut/2);
      	}
      
              public void dimensionEcran(){
      	   Toolkit tk = Toolkit.getDefaultToolkit();
      	   Dimension dimecran = tk.getScreenSize();
      	   larg = dimecran.width;
      	   haut = dimecran.height;
              }
      	
      	public static void main(String[] args) {
      		
      	}
      
      }
      


      J'ai un peu modifié ton code ; en effet si tu n'appelles pas la méthode dimensionEcran() dans le constructeur, ta Jframe aura pour taille 0.
      • Partager sur Facebook
      • Partager sur Twitter
        19 février 2009 à 20:52:58

        Merci beaucoup je viens de comprendre ! si je veux donc utilisé une variable il faut donc que je l'initialise pour toutes les méthodes et non en variable locale !
        Merci pour ton aide ! :D
        • Partager sur Facebook
        • Partager sur Twitter

        gestion méthodes

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown