Est-il un moyen de l'intérieur d'une application Java pour la liste de tous les actuellement ouvert/actif (je ne suis pas sûr que la terminologie ici) JFrames
qui sont visibles sur l'écran? Merci pour votre aide.
source d'informationauteur Connor Neville
Cadre.getFrames()
retourne un tableau de toutes les images.Alternativement, comme mentionné par @mKorbel,
Window.getWindows()
sera de retour tous les windows depuisFrame
(&JFrame
) étendreWindow
qui donnera à tous les cadres, et puis certains. Il sera nécessaire d'itérer à découvrir ceux qui sont actuellement visibles.Je suis d'accord avec Stefan Reich commentaire.
Une méthode très utile est
Window.getOwnedWindows()
... et un contexte où il est utile, sinon indispensable, est TDD (Test-Driven Development): dans un (intégration) de test, où vous avez différentsWindow
objets sur l'écran (JDialog
etc.), si quelque chose se passe mal avant que le test est terminé normalement (ou même s'il se termine normalement), vous voudrez souvent de disposer d'actions subalternes à windows dans les tests de nettoyage de code. Quelque chose comme ceci (JUnit):Frame.getFrames()
sera de faire votre travail.À partir d'oracle Doc:
Un exemple simple:
Vous pouvez également utiliser
Window.getWindows()
comme d'autres l'ont mentionné.