No enclosing instance of the type Editor is accessible in scope

[Résolu]
Signaler
Messages postés
5
Date d'inscription
dimanche 22 février 2004
Statut
Membre
Dernière intervention
16 mars 2005
-
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
-
Voila je voudrais savoir ce que veut dire cette erreur pour le moins abstraite à mes yeux...

Le contexte

J'ai 3 classes :


Editor.java
Code.java
Menu.java

Menu.java est une class qui "extends" JMenu (d'où son nom ^^).
Code.java "extends" quand à elle JTabbedPane.
Editor "extends" JFrame,
elle implémente egalement les deux classes sus-nommée dans un BorderLayout.

En fait la où j'ai mon probleme c'est quand je veut attribuer comme ActionListener à mon MenuItem "Nouveau", je vous met le code pour que vous y voyez plus clair :

L'ActionListener en question :

class NewCode extends AbstractAction{
public NewCode(){
super("Nouveau");
}
public void actionPerformed(ActionEvent e){
Editor.this.code.newTab();
}
}

Et la methode en question :

public void newTab(){
JEditorPane code = new JEditorPane();
super.add(code, "npc" + nTab);
nTab++;
}

Voila et lorsque je veut ajouter une tab à mon JTabbedPane qu'est Code (nom de l'implémenation sous Editor : code ) qu j'ai l'érreur citée dans le titre :(

Si quelqu'un pouvai m'aider :}

5 réponses

Messages postés
5
Date d'inscription
dimanche 22 février 2004
Statut
Membre
Dernière intervention
16 mars 2005

En fait il suffisait de remplacer :
Editor.this.code.newTab();
par :
Editor.code.newTab();

et :
public Code code = new Code();
par :
static public Code code = new Code();

vala vala :}
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

c est biz moi le prototype de la methode add pour JTabbedPane que j ai ne correspond pas au tien !!!

a part ca je voi pas ;-(

c est surment tou bete... As tu essayer avec un debugger ca te dirra tou de suite quell ligne plante. Et une indication qui peu aider... ;o)

GL
++
Messages postés
5
Date d'inscription
dimanche 22 février 2004
Statut
Membre
Dernière intervention
16 mars 2005

En fait la ligne qui bug est la ligne :

Editor.this.code.newTab();

je le sait car eclipse me le souligne et m'indique l'erreur du titre..
J'ai totu de meme essayer de le compiler.

Pour ce qui est de addTab() ce prototype marche car j'en ajoute un par defaut en utilisant ce prototype à la creation de la fenetre :(
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

et bien cela veu dire que Editor.this n est pas accesible depuis cette emplacement... ;o)

No enclosing instance....

pas d instance de la class ... Editor a cette endroit n est visible..

++
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
GodConan :clown)

je ne pense pas que ce soit une solution viable ;o) m enfin ;o)
...

++