IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
logo

FAQ JavaFXConsultez toutes les FAQ

Nombre d'auteurs : 4, nombre de questions : 507, derni�re mise � jour : 2 novembre 2016  Ajouter une question

 

Cette FAQ a �t� r�alis�e � partir des questions fr�quemment pos�es sur le forum JavaFX de http://java.developpez.com ainsi que l'exp�rience personnelle des auteurs.

Nous tenons � souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne pr�tend pas non plus �tre compl�te. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant r�dacteur, lisez ceci.

Sur ce, nous vous souhaitons une bonne lecture.

SommaireSceneGraphImpression (5)
pr�c�dent sommaire suivant
 

L'impression est disponible depuis JavaFX 8. Pour pouvoir imprimer, vous devez cr�er un objet de type javafx.print.PrinterJob qui vous servira � imprimer une arborescence de n�uds.

Par exemple :

Code Java : S�lectionner tout
1
2
3
4
5
6
7
8
final PrinterJob printerJob = PrinterJob.createPrinterJob(); 
if (printerJob != null) { 
    final Rectangle rectangle = new Rectangle(0, 0, 150, 100); 
    rectangle.setFill(Color.RED); 
    if (printerJob.printPage(rectangle)) { 
        printerJob.endJob(); 
    } 
}

Ici, ce bout de code imprime un simple rectangle rouge qui n'est pas attach� � une sc�ne ou � une fen�tre. Il est bien s�r possible d'imprimer une mise en page complexe permettant d'afficher un document riche, en imprimant son n�ud racine.

Chaque appel � la m�thode printPage() imprime une nouvelle page. Invoquer la m�thode endJob() termine l'impression.

Vous n��tes pas oblig�s de lancer votre impression dans le JavaFX Application Thread, elle peut �tre ex�cut�e dans une t�che de fond. Cependant, certains n�uds complexes, ou utilisant des CSS personnalis�s, tels que les graphes statistiques, peuvent n�cessiter d��tre rattach�s � une sc�ne (sans besoin de l'attacher � une fen�tre) au pr�alable pour pouvoir s'imprimer correctement dans le bon style. Dans ce cas, il faudra prendre soin de manipuler la sc�ne dans le JavaFX Application Thread.

Il faudra prendre �galement soin de d�sactiver toute animation sur un n�ud le temps de l'impression.

Mis � jour le 17 septembre 2014 bouye

Vous devez invoquer la m�thode showPrintDialog() de votre objet PrinterJob en lui passant en param�tre une r�f�rence � un objet de type Window, un Stage par exemple, qui est la fen�tre parente. Cette m�thode retourne true si l'utilisateur a valid� la boite de dialogue ou false s'il a d�cid� d'annuler l'impression.

Code Java : S�lectionner tout
1
2
3
if (printerJob.showPrintDialog(window)) { 
    // Code de l'impression ici.             
}

La r�f�rence � l'objet de type Window peut avoir une valeur �gale � null.

Mis � jour le 17 septembre 2014 bouye

Vous devez invoquer la m�thode showPageSetupDialog() de votre objet PrinterJob en lui passant en param�tre une r�f�rence � un objet de type Window, un Stage par exemple, qui est la fen�tre parente. Cette m�thode retourne true si l'utilisateur a valid� la boite de dialogue ou false s'il a d�cid� d'annuler l'impression.

Code Java : S�lectionner tout
1
2
3
if (printerJob.showPageSetupDialog(window)) { 
    // Code de l'impression ici.             
}

La r�f�rence � l'objet de type Window peut avoir une valeur �gale � null.

Mis � jour le 17 septembre 2014 bouye

La configuration de l'imprimante est accessible en invoquant la m�thode getJobSettings() de votre objet PrinterJob. Cette m�thode retourne un objet de type javafx.print.JobSettings.

Par exemple :

Code Java : S�lectionner tout
final JobSettings jobSettings = printerJob.getJobSettings();

Cet objet permet de connaitre la configuration de l'impression, par exemple l'intervalle des pages � imprimer, le nombre de copies, la r�solution, etc.

Mis � jour le 17 septembre 2014 bouye

Il est possible de connaitre les dimensions de la page et de la zone imprimable en r�cup�rant la valeur de la propri�t� pageLayout de la configuration de l'impression qui contient un objet de type javafx.print.PageLayout.

Par exemple :

Code Java : S�lectionner tout
final PageLayout pageLayout = printerJob.getJobSettings().getPageLayout();

Ces dimensions peuvent servir au calcul de la mise en page du contenu � imprimer et � calculer le nombre total de pages � produire.

Mis � jour le 17 septembre 2014 bouye

Proposer une nouvelle r�ponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plut�t sur le forum de la rubrique pour �a


R�ponse � la question

Liens sous la question
pr�c�dent sommaire suivant
 

Les sources pr�sent�es sur cette page sont libres de droits et vous pouvez les utiliser � votre convenance. Par contre, la page de pr�sentation constitue une �uvre intellectuelle prot�g�e par les droits d'auteur. Copyright � 2025 Developpez Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'� trois ans de prison et jusqu'� 300 000 � de dommages et int�r�ts.