Bonjour a tous!
Dans mon application je dessine un plan grace a la classe Graphics et ses methodes. mais lorsque j'imprime un JPanel, il y a qq differences avec ce qui est affiché a l'ecran: qq decalages.
voici mon code:
Code :
- public void imprimer() {
- //la methode qui lance l'impression.
- PrinterJob printJob = PrinterJob.getPrinterJob();
- printJob.setPrintable(this);
- //ouvre la fenetre de choix de l'imprimante
- boolean onDoitImprimer = printJob.printDialog();
- //onDoitImprimer est true si l'utilisateur a cliqué sur ok
- if (onDoitImprimer == true) {
- try {
- printJob.print();
- }
- catch (Exception PrintException) {
- System.err.println("PRINT_EXCEPTION" );
- }
- }
- }
- public int print(Graphics g, PageFormat pf, int pi)
- throws PrinterException {
- //la methode print().
- System.out.println("Impression..." );
- //ca c'est du bricolage pour imprimer en paysage
- //j'y suis pas arrivé autrement mais la n'est pas le pb
- Graphics2D g2 = (Graphics2D)g;
- g2.rotate(Math.PI / 2, 212, 310);
- g2.scale(0.90, 0.82);
- if (pi >= 1) {
- return Printable.NO_SUCH_PAGE;
- }
- //zoneAImprimer est un container avec des JPanel
- zoneAImprimer.paint(g2);
- //et donc c'est si je fais un paint pour afficher nonAaImprimer ou si
- // je le fais dans print ca me donne pas toujours le meme resultat
- // a l'ecran et sur la feuille...
- return Printable.PAGE_EXISTS;
- }
|
Quelqu'un a deja remarqué ca? vous avezue idee de quoi ca peut venir?
Message édité par ruready le 10-08-2004 à 13:45:30