Imprimer le contenu de JavaFx TableView
Je suis à la recherche d'un moyen d'imprimer le contenu d'un JavaFX TableView. Je comprends que JavaFX ne pas avoir l'Impression de capabillities encore (quelle déception). J'ai trouvé quelques informations au sujet de prendre une capture d'écran d'une WebView par exemple et de les imprimer comme une image.
Est-il possible de faire quelque chose comme ça avec une vue de la Table. Comment faire pour gérer plusieurs pages sur les tables avec de nombreuses données.
Merci pour votre aide
OriginalL'auteur bluchip.gr | 2013-05-24
Vous devez vous connecter pour publier un commentaire.
L'impression de l'API est apparu en fx8.0. Et il peut imprimer les nœuds. Vous pouvez créer des tâches d'impression avec javafx.d'impression.PrinterJob classe. Mais il n'imprime que la région qui correspond à une page imprimée, et non pas celui que vous avez sur un écran. Si vous avez besoin de faire votre nœud adapter à la page(à l'échelle, de traduire, etc) par les mains. Ici est simple exemple d'impression:
OriginalL'auteur Asimaruk
Tailler la zone que vous souhaitez
Redimensionner selon le format de papier A4 et imprimer
OriginalL'auteur Shantanu Chandra
J'ai essayé ce . Il montre d'abord une page de dialogue de la fenêtre, puis les échelles, les traduit et les imprime.
OriginalL'auteur windyDay
Java 8 inclut des capacités d'impression pour JavaFX.
https://jdk8.java.net/download.html
La Java 8 fonctions d'impression ont été mis en œuvre en vertu de RT-17383 Impression et de la fonction comme décrit dans @Asimaruk de réponse.
Vous pouvez le faire si vous ne pouvez pas utiliser Java 8.
Utiliser le JavaFX instantané de l'api, de l'utilisation SwingFXUtils pour convertir le JavaFX image d'un BufferedImage, utilisez Swing méthodes d'impression pour imprimer le BufferedImage.
Si vous ne pouvez pas utiliser Java 8, utilisez la méthode de capture instantanée pour chaque page, le défilement de la table de données entre chaque cliché.
Voir aussi RT-17665 Faire quelques contrôles de l'INTERFACE utilisateur en charge l'impression de leur contenu qui est une demande pour une impression directe de l'api ajouté à certains contrôles (par exemple, TableView), de sorte que vous pourriez droit tableView.print() pour imprimer uniquement la tableview et pas une scène entière. Cette commodité de l'API pour l'impression n'a pas été mis en œuvre, mais vous pouvez voter ou commenter sur la question connexe pour indiquer votre intérêt pour la fonction.
OriginalL'auteur jewelsea