Impression d'un jpanel (sans coupure des composants en bas de page)

5/5 (49 avis)

Vue 36 936 fois - Téléchargée 7 221 fois

Description

Voila, cette semaine j'ai aidé plusieurs personnes a régler des problemes d'impression. C'est pourquoi j'ai réalisé cette petite classe afin de nous simplifier la vie avec les impressions. La classe permet d'imprimer le contenu graphique d'un panel en multi-pages. Plusieurs options sont disponibles.
FitIntoPage => permet de redimentionner automatiquement le contenu du JPanel pour qu'il rentre dans une seul et unique page.
WrapComponent => permet un impression sans couper les composants en bas de page. En effet les methodes d'impression de Java coupe les composants en fin de page. Par exemple un text area faisant la moitié de la page mais commençant en bas de celle ci aura ca premiere moitié en bas de la page et la deuxieme sur la deuxime page. Ma class calcul avant l'impression la repartition optimale des composants afin d'éviter le probleme, ainsi si le composant ne rentre pas il sera automatiquement décalé sur la page suivante. Si un composant est plus grand qu'une page il sera coupé ou reduit selon les options choisi avant l'impression.
J'ai tester cette class avec un JPanel avec un GridBaglayout et pas mal de composant (meme des composants imbriqués) et ca marche pas mal, donc je vous en fait profiter.
En amélioration on peut envisager l'impression en bas de page du numero de page, et surement d'autre chose auquelles je n'est pas pensé :D.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_byaa Messages postés 1 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 7 juillet 2013
7 juil. 2013 à 23:41
Bonsoir!!!
Vraiment excellente votre classe, utile et pratique en plus
Merci beaucoup
Mon problème est que lorsque je lance l'impression avec mon bouton imprimer la fenêtre d'impression s'affiche si je clique sur ok, rien ne se passe, pas de bugs ni rien.
votre aide me sera d'une grande importance
Merci d'avance
shaymatartifelet Messages postés 2 Date d'inscription lundi 5 décembre 2011 Statut Membre Dernière intervention 16 mai 2013
16 mai 2013 à 22:13
bonsoir il enregistre le fichier comme xsp mais je ne le trouve pas c'est qu'un racourcie comment je fait?
shaymatartifelet Messages postés 2 Date d'inscription lundi 5 décembre 2011 Statut Membre Dernière intervention 16 mai 2013
16 mai 2013 à 21:12
bonsoir svvp mon fichier XPS et introuvable comme je pourais le consulter
Fshow Messages postés 6 Date d'inscription dimanche 17 juin 2012 Statut Membre Dernière intervention 14 juillet 2013
19 avril 2013 à 00:33
Bonsoir jais télécharger la classe mais je voulais l'appelé dans un bouton ? merçi davance!
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
18 déc. 2012 à 10:35
La page suivant contient le code source TableReportDemo, qui montre comment personnaliser l'impression d'un JTable:
http://wiki.byte-welt.net/wiki/JTable_Druckfunktion_anpassen

Le principe est le même pour un JTextComponent (comme par exemple JTextField): avec JTextComponent#getPrintable nous obtenons un Printable que nous enveloppons dans une nouvelle classe, que nous appelons par exemple "TextFieldReport implements Printable". Dans cette classe nous surchargeons la méthode print de l'interface Printable pour personnaliser l'impression.

La classe TableReportDemo montre également comment définir le format du papier.

Salutaions,
André
Afficher les 49 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.