Je suis en train d'étendre une classe comme panneau pour que je puisse tirer des événements cliquez uniquement lorsque la zone de titre est cliqué. La zone de titre est un composant protégé de Panel appelé titleBar. Je veux donc rendre ce composant public.faire une propriété protégée publique
Il semble que je suis presque là, mais je reçois un "TypeError: Erreur # 1009: Impossible d'accéder à une propriété ou une méthode d'une référence d'objet nul." quand il essaie d'ajouter un écouteur d'événement à la barre de titre.
ici est mon panneau étendu
package custClass{
import mx.containers.Panel;
import mx.core.UIComponent;
public class ExtPanel extends Panel{
[Bindable] public var TitleBar:UIComponent;
public function DragPanel(){
super();
TitleBar = super.titleBar;
}
}
}
Voici une version réduite de l'AS J'appelle en ma fonction qui crée un nouveau panneau:
var newPanel:ExtPanel = new ExtPanel();
newPanel.TitleBar.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);
L'erreur est pointée à la dernière ligne. Qu'est-ce que je rate?
Merci
Edit: par la réponse ci-dessous, je suis en train d'essayer cela:
package custClass{
import mx.containers.Panel;
import mx.core.UIComponent;
public class extPanel extends Panel{
public function extPanel(){
super();
}
public function getTitleBar():UIComponent{
return this.titleBar;
}
}
}
Et puis cela dans l'AS:
newPanel.getTitleBar().addEventListener(MouseEvent.ROLL_OVER,over);
obtenir toujours la même erreur. C'est un tout nouveau terrain pour moi, quelle est ma prochaine étape?
Merci, je me sens comme un cancre parfois ne pas savoir l'ordre des choses, c'est la première fois que j'ai vraiment essayé de faire quelque chose avec l'extension d'une classe au-delà d'ajouter des tailles simples ou des styles. – invertedSpear