Bonjour,

J'ai une question concernant l'annotation du compilateur "Non-static method 'getTablePrinc()' cannot be referenced from a static context" et l'appel d'une variable (tablePrinc) ou méthode (getTablePrinc() ) se trouvant dans un répertoire (donnéesdentrée/FichierDonnéesDEntrée.java), comme argument d'une méthode se trouvant dans un autre répertoire (monotone.EnergElectr_TranchePuiss.java).

Je ne vois pas où il trouve ce 'static context';

Pour mon application, la structure de mes répertoires et fichiers est :
(P: Symbole d'un 'package' - F: Symbole d'un fichier java)
P: choixpuissmach
_____F: <quelques fichiers Java>
P: choixpuissmach.donnéesdentrée
_____F: FichierDonnéesDEntrée.java
_____F: <quelques autres fichiers Java>
P: choixpuissmach.monotone
_____F: EnergElectr_TranchePuiss.java
_____F: <quelques autres fichiers Java>
Rem.1: On notera que dans la fenêtre 'Projects' de tous les IDE de NetBeans (le mien : v.7.3.1), le fait de créer des nouveaux 'packages' ('donnéesdentrée' et 'monotone') dans un package existant (choixpuissmach) fait que les nouveaux packages apparaissent
non pas dans le package original (choixpuissmach) et indentés
mais alignés au package original et aux doubles noms : 'choixpuissmach.donnéesdentrée' et 'choixpuissmach.monotone'.

Rem.2: Le fichier 'EnergElectr_TranchePuiss' contient
Code : Sélectionner tout - Visualiser dans une fenêtre à part
import choixpuissmach.donnéesdentrée.FichierDonnéesDEntrée;
Cet import est souligné en jaune : "Unsed import", alors que je tente d'utiliser sa méthode 'JTable getTablePrinc()' à l'aide de:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
        dresserListeFréquConsoPuiss(
                choixpuissmach.
                donnéesdentrée.FichierDonnéesDEntrée.getTablePrinc());
Le compilateur de l'IDE ne souligne que 'choixpuissmach' en rouge : Erreur :
Non-static method 'getTablePrinc()' cannot be referenced from a static context.
alors que ni la classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public class EnergElectr_TranchePuiss extends JScrollPane
, ni sa méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
private void initComponents()
où se trouve l'appel de la méthode 'dresserListeFréquConsoPuiss()' ne sont 'static'.
Je ne vois pas comment me débloquer.

J'ai tenté d'inverser la situation en créant un appel à la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public ArrayList dresserListeFréquConsoPuiss(JTable tablePrinc)
(implémentée dans 'EnergElectr_TranchePuiss') depuis la classe initiale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    public class FichierDonnéesDEntrée extends JScrollPane implements ActionListener
        ...
        @Override public void actionPerformed(ActionEvent e)
            ...
               choixpuissmach.monotone.EnergElectr_TranchePuiss.dresserListeFréquConsoPuiss(tablePrinc);
Ici aussi, le compilateur de l'IDE ne souligne que 'choixpuissmach' en rouge : Erreur :
Non-static method 'dresserListeFréquConsoPuiss(JTable)' cannot be referenced from a static context.
et je ne vois aucun 'static context' ...

Une âme empathique aurait une idée d'investigation ?

Merci d'avance.