Encapsulation

Résolu
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 16 juil. 2008 à 18:43
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 16 juil. 2008 à 19:40
Bonsoir,

Je suis actuellement en train de modifier mon projet (qui fonctionne) pour le rendre plus élégant en utilisant l'encapsulation.
Le souci c'est que dans ce que je veux mettre dans ma nouvelle classe, il y a un this qui fait référence à une JApplet.
Du coup, je ne sais plus comment y accéder.
Voilà la structure de mon code:

public class Applet_TM extends JApplet implements ActionListener {
 ...
     JavaScript JS = new JavaScript();
     JS.envoi_ligne(nom_fichier, contenu_crypte);
...
}
class JavaScript {
    public boolean envoi_ligne(String nom, String contenu) {
    ...
    JSObject win = JSObject.getWindow(this);
    ...
    }
}

Le souci c'est que le THIS devrait faire référence à l'applet et pas à ma classe JavaScript.

Comment faire?

Merci d'avance,

FF

2 réponses

cs_niky Messages postés 168 Date d'inscription jeudi 28 juin 2001 Statut Membre Dernière intervention 18 octobre 2008 7
16 juil. 2008 à 19:32
Salut,

Tu passes "this" (càd dire l'objet Applet_TM) en paramètre du constructeur de l'objet JS.
Tu penses aussi à enregistrer ce paramètre dans une variable globale à l'objet JavaScript pour pouvoir l'utiliser dans toutes les méthodes de JavaScript :

class JavaScript {
  private Applet_TM _thisApplet;

  public JavaScript(Applet_TM applet) {
   this._thisApplet = applet;
 }

  JSObject win = JSObject.getWindow(this._thisApplet);

}
3
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
16 juil. 2008 à 19:40
Merci, J'ai compris le principe :-)
0
Rejoignez-nous