-
Accés au parent
Bonjour à toutes et à tous,
J'ai une application composée d'une fenêtre principale (JFrame) dans laquelle je peux créer plusieurs fenêtres secondaires (JInternalFrame).
Lorsque je clique sur une des fenêtres secondaires, je voudrais qu'une variable "globale" prenne la valeur de la fenêtre active afin que de la fenêtre principale, je puisse faire des actions dans la fenêtre active.
Je ne vois pas bien par quel bout m'y prendre.
Avez-vous des idées ?
Merci de votre aide.
Pierre
-
hum je ne sait pas si il ya pas plus propre mais moi je passe un mes JInternalFrame l'instance de l'a frame principal .. apres des methodes get et set fond la plupart des chose dont j'ai besoin ...
Mais il existe peut etre une methode sur le JFrame .
Ah sur le JDesktopPane de ta JFrame tu a la methode getSelectedFrame() qui peut etre utile .
-
Je ne connais pas bien la classe JInternalFrame, mais il serait curieux qu'aucune méthode de cette classe ne te donne accès à la Frame qui la contient.
Mais si une telle méthode n'existe pas, voici une solution: le pattern "Observer" (ou Listener).
Dans ta JInternalFrame, tu maintiens un PropertyChangeSupport. Lorsque ta fenêtre deviens active, tu utilises celui-ci pour propager l'information de l'activation de ta Frame.
Evidemment, la Frame principale de ton application s'inscrit en tant que listener du PropertyChangeSupport. Ainsi, dès qu'une Frame interne devient active, ta fenêtre principale en est informée. Elle sait donc en permanence quelle InternalFrame est active.
-
OK, merci, c'est bon avec DesktopPane.
Cordialement.
Pierre