IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

problème avec l'appel de mes classes


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Points : 37
    Points
    37
    Par défaut problème avec l'appel de mes classes
    Bonjour à tous,
    j'ai un peu du mal à expliquer mon pb mais voilà ce qui se passe en gros:

    J'ai une public class de lecture qui fait appel à une classe tableau dans laquelle j'enregistre des données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class Lecture {
    	public Lecture() throws IOException {
    		Tableau tab = new Tableau();
    ....
    Une fois ces données enregistrées dans le tableau, je dois les réutiliser sur ma fenêtre graphique, ma classe Fenetre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class Fenetre extends JFrame implements ListSelectionListener {
        Tableau tab=new Tableau();
    .....
    Le problème c'est qu'en utilisant l'appel Tableau tab=new Tableau(); mon programme reprend un nouveau tableau vierge... Comment faire pour utiliser celui qui a reçu les données dans ma classe Lecture svp?

    J'ai vraiment galéré à trouver la source de mon erreur si qqun pouvait m'aider ça serait vraiment cool.

  2. #2
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    Dans votre classe Lecture, la variable tab est déclarée dans le constructeur (méthode public Lecture()), ainsi elle est détruite à la fin de l'appel au contructeur.
    Pour qu'elle soit accessible dans une autre classe, il faut la déclarer en tant qu'attribut de la classe Lecture et y accéder va une méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class Lecture {
    	private Tableau tab;
    	public Lecture() throws IOException {
    		tab = new Tableau();
    ....
    	}
    	public Tableau getTab() {
    		return tab;
    	}
    Ensuite, vous pouvez y accéder en créant une instance de Lecture dans votre classe Fenetre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Fenetre extends JFrame implements ListSelectionListener {
        Tableau tab;
        Lecture lecture;
        lecture = new Lecture();
        tab = lecture.getTab();
    .....

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    Merci! J'ai bien effectué ce que vous avez indiqué mais j'ai cette erreur qui s'affiche:
    Exception in thread "main" java.lang.NullPointerException
    Voici ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public class Fenetre  extends JFrame implements ListSelectionListener   {
     
        Lecture lecture  = new Lecture() ;
        Tableau tab = lecture.getTab();
        Dessin des= new Dessin();
     
    	public Fenetre()throws IOException {
    //création d'un panneau d'affichage
    go;
    }
    private void go(){
    ....
    int coul[][] = new int[7][2]; //tableau pour changer de couleur
     
        	   for(int j=0;j<=6;j++)
        	   {
        	   coul[j][0]=25*tab.point[nt][j];
        	   coul[j][1]=250-25*tab.point[nt][j];
        	   }
    ....

  4. #4
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    La déclaration de tableau en Java se fait ainsi :
    et pas :
    A ne pas confondre avec le C

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    c'est modifié mais je n'arrive toujours pas à avoir accès aux valeurs contenues dans tab.point

  6. #6
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Comment est implémenté votre méthode "go" ? Je veux dire, comment initialisez-vous votre tableau tab ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 4] problème avec l'appel d'une class
    Par sinifer dans le forum Langage
    Réponses: 18
    Dernier message: 31/05/2011, 23h31
  2. [Système] Problème avec les méthodes d'une classe
    Par oussama127 dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2006, 10h18
  3. problème avec l'appel d'une fonction
    Par mademoizel dans le forum ASP
    Réponses: 5
    Dernier message: 26/06/2006, 16h04
  4. [DAO] Comment gérer les liens avec la bdd dans mes classes?
    Par Wormus dans le forum Autres
    Réponses: 6
    Dernier message: 22/02/2006, 17h14
  5. Problème avec l'initialisation de mes variables
    Par francois.delpierre dans le forum Langage
    Réponses: 4
    Dernier message: 18/10/2005, 03h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo