Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

impression JFrame

1 réponse
Avatar
Jean-Marie
bonjour

g testé le code trouvé dans les FAQs de fr.comp.java.lang qui a pour but
d'imprimer 1 JFrame contenant un ensemble de JPanels,
ce code est le suivant :

// récupère le travail et affiche la boite de dialogue d'impression
PrintJob job = getToolkit().getPrintJob(frame_parent_pour_le_dialogue,
"essai", null);
if (job != null)
{
// recupere le Graphics dans lequel on va ecrire
Graphics g = job.getGraphics();
if (g != null) {
// sur le Container imprime l'ensemble de ses Components
cont.printAll(g);
g.dispose();
}
// finit le travail
job.end()

je constate les anomalies suivantes à l'impression :
-les côté gauche et haut sont systématiquement coupés en partie
(commentaire d'ailleurs souvent rapportés dans les news sans qu'une
solution soit clairement donnée)
-certains textes apparaissant dans 1 JPanel sont remplacés par des
pointillés (ex U... au lieu de UTC)

g fais le test avec le J2SE v 1.4.2 (donc le plus récent)

si qn a 1 solution elle est bienvenue

merci d'avance

Jean-marie

------------------
jean-marie condom
www.meteorage.fr

1 réponse

Avatar
Fabien KOCIK
je constate les anomalies suivantes à l'impression :
-les côté gauche et haut sont systématiquement coupés en partie
(commentaire d'ailleurs souvent rapportés dans les news sans qu'une
solution soit clairement donnée)
-certains textes apparaissant dans 1 JPanel sont remplacés par des
pointillés (ex U... au lieu de UTC)


J'ai eu le même problème avec l'impression d'un JPanel,
c'est du au fait que la zone d'impression dépasse la taille
de la page.

Une solution que j'avais trouvé consistait à créer une
BufferedImage à partir de laquelle je récupérais un objet
Graphics, on fait le paint dans le graphics de l'image puis
on fait un drawImage sur le graphics du job d'impression
en précisant la taille de la zone imprimable (l'objet PageFormat
donne ça...), ce qui a pour effet de redimensionner l'image.

Essaye de voir de ce côté là, j'ai pas le source sous la main mais
je peux essayer de rechercher ça si tu veux.

@+ Fabien