Swing: Obtenir l'Image de JFrame

Comment puis-je obtenir un java.awt.Image d'une JFrame?

Je veux obtenir une capture d'écran d'une JFrame (pour une utilisation ultérieure dans mon application). C'est actuellement réalisée à l'aide du robot de prendre une capture d'écran en spécifiant les coordonnées et les dimensions de la JFrame impliqués.

Cependant, je crois qu'il existe une meilleure façon: les composants Swing, par défaut, de rendre eux-mêmes comme des images dans une double mémoire tampon avant de peindre eux-mêmes sur l'écran.

Est-il un moyen d'obtenir ces images de la composante?

  • Oui Swing composants peut rendre eux-mêmes, mais une JFrame est pas un composant Swing de sorte que vous besoin d'utiliser le Robot si vous voulez capturer la barre de titre ainsi. Bien sûr, si vous utilisez: JFrame.setDefaultLookAndFeelDecorated(true); alors vous devriez être en mesure de rendre la totalité de l'image.
  • Pour les futurs lecteurs: JFrame est et a toujours été un composant swing. Le commentaire ci-dessus est faux.
InformationsquelleAutor bguiz | 2011-05-02