Comment définit-on job.setPrintable(prinableObject)

Résolu
Goahould_nt - Modifié le 22 avril 2023 à 17:48
 Goahould_nt - 22 avril 2023 à 18:47

Dans le code :

 
PrinterJob job = PrinterJob.getPrinterJob();
/* On donne le contenu à imprimer au job */
job.setPrintable(printableObject);
/* Affichage de la boite de dialogue d'impression */
boolean doPrint = job.printDialog();
if(doPrint) {
        try {
                /* Lancement de l'impression */
                job.print();
        }
        catch (PrinterException e1) {
                e1.printStackTrace();
        }
} 

comment définit-on l'objet printableObject dans job.setPrintable(printableObject); ?

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
22 avril 2023 à 12:17

Bonjour,

Tu ne précises pas quelle technologie tu utilises, je vais partir du principe que c'est du Java AWT.

La documentation permet de répondre à ta question :

https://docs.oracle.com/en/java/javase/20/docs/api/java.desktop/java/awt/print/PrinterJob.html#setPrintable(java.awt.print.Printable)

printableObject doit être un objet de type Printable, qui est une interface dont il faut implémenter une méthode print :

https://docs.oracle.com/en/java/javase/20/docs/api/java.desktop/java/awt/print/Printable.html#print(java.awt.Graphics,java.awt.print.PageFormat,int)

Dans l'objet Graphics en paramètre de cette méthode tu dessines ce qui doit être imprimé.

Remarque, si c'est du JavaFX la documentation de PrinterJob.setPrinter est ici :

https://openjfx.io/javadoc/20/javafx.graphics/javafx/print/PrinterJob.html#setPrinter(javafx.print.Printer)


1

Merci pour les indications de la doc, mais comment fait-on pour implémenter l'interface Printable: je redéfinii la méthode print(java.awt.Graphics, java.awt.print.PageFormat, int). ... et ça fonctionne. Milles merci pour les indications. J'avais prévus toute une question mais en réessayant mon application de gestion des stocks fonctionne, meme l'impression. 

0
Rejoignez-nous