Dialog configuration impression a4

Soyez le premier à donner votre avis sur cette source.

Vue 17 581 fois - Téléchargée 2 195 fois

Description

C'est une boîte de dialogue qui permet de configurer une impression en choisissant les marges, l'orientation, l'emplacement de ce qu'on imprime et sa dimension exacte
elle dispose d'un zoli apercu aussi ;-))

je ne l'ai faite que pour le format A4 (parce que je suis égoïste ;-p)
mais ca doît pas être trop compliqué de rajouter un choix de format

Source / Exemple :


zip, zip...

Conclusion :


Utilise PrintJob !!! (suite à des problèmes de compatibilités des attributs de PrinterJob)

classe impression.Impression : la boîte de dialogue
interface impression.ComponentImprimable : l'objet à imprimer doit l'implementer

il y a également une application bidon pour donner un exemple

tout Object est imprimable dès qu'il implemente l'interface

celle-ci demande une méthode
public void paintComponent(Graphics g)
dans laquelle ce qui doît être imprimé est dessiné sur g

ainsi qu'une méthode demandant de désactiver les doubles buffers durant l'impression
(nécessaire pour préserver la qualité lors des redimensionnements)

pour un JComponent, il est donc necessaire de redefinir paintComponent car elle est protected
il faut donc au minimum rajouter
public void paintComponent(Graphics g) {
super.paintComponent(g);
//dessins...
}

pour une JFrame (qui n'est pas un JComponent) paintComponent n'existe pas à l'origine. On peut définir par exemple
public void paintComponent(Graphics g) {
super.paint(g);
}

mise à jour 1 : correction d'un alignement dans la boîte de dialogue

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cid019
Messages postés
237
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 juillet 2006
-
voila j'ai essaye ce code et chez moi il ne marche pas correctement : il me met systematiquement l'erreur suivante : erreur impression.
Je sais pas d'ou ca vient, j'arrive pas a voir ou c'est dans le code.
cs_Dobel
Messages postés
333
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
23 novembre 2009
-
Bah je sais pas, ca marche sans problème chez moi ;-p

Est-ce que tu pourrais me donner tout le message d'erreur STP ?

je vais refiaire une petite MAJ mais c'est juste pour supprimer une sortie sur System.out que j'ai oublé de retirer
cid019
Messages postés
237
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 juillet 2006
-
il m'ouvre une fenetre avec le titre : EPSON dont le message est : erreur d'impression.
c'est tout.
C'est peut etre un message du pilote de l'imprimante.
Ce qui est etrange c'est que si je passe par une impression classique sans ton systeme, il m'imprime ma page... alors je sais pas trop.
Merci
cs_Dobel
Messages postés
333
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
23 novembre 2009
-
ouaip, c'est ennuyeux car j'avais l'intention d'utiliser ma boîte dans un programme
j'ai aussi une epson et ca passe

je vais bientôt partir en vacance donc je vais pas avoir le temps de m'en occuper mais quand je serais de retour(19-20 aout), je mettrais un post sur le forum pour demander de tester le programme en indiquant si ca fonctionne ou non sur quelle configuration

ca vient peut-être du fait que j'utilise le vieux PrintJob au lieu de PrinterJob
(je trouve printJob beaucoup plus efficace et pratique... et surtout, je sais pas régler la résolution avec PrinterJob donc c'est inutilisable...)
cs_Dobel
Messages postés
333
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
23 novembre 2009
-
j'ai regardé sur le site de sun, il n'y a pas de bug récent concernant printJob mais je demanderais quand même au forum de tester mon programme

Salut

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.